diff --git a/.dockerignore b/.dockerignore index 9fd870b8595e65c6398131d1c2b968897ff5addc..59051c1a30afc8e1c11a6d0be29468501d32517b 100644 --- a/.dockerignore +++ b/.dockerignore @@ -5,4 +5,3 @@ common/utils/T/T_IDs.h common/utils/T/T_messages.txt.h common/utils/T/genids common/utils/T/genids.o -targets/bin/ diff --git a/.gitignore b/.gitignore index b2913b82aead866c8a72dbbe6bfbf16f7c2c0e78..845a49ac98e68482f20631c34270620f68676604 100644 --- a/.gitignore +++ b/.gitignore @@ -8,7 +8,6 @@ cmake_targets/ran_build/ cmake_targets/nas_sim_tools/build/ log/ lte_build_oai/ -targets/bin/ # vscode .vscode diff --git a/charts/physims/charts/dlsim.100rb+tm2/Chart.yaml b/charts/physims/charts/dlsim.100rb+tm2/Chart.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4d7cea8e23ca9c344ce0363d1ef0c606029b08bf --- /dev/null +++ b/charts/physims/charts/dlsim.100rb+tm2/Chart.yaml @@ -0,0 +1,36 @@ +apiVersion: v1 +name: oai-dlsim-100rb-tm2 +description: A Helm subchart for dlsim network function ("100rb+tm2" tests) + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +version: 0.1.1 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. +appVersion: v1 + +keywords: + - Physical Simulator + - dlsim + - RAN + - 4G + +sources: + - https://gitlab.eurecom.fr/oai/openairinterface5g + +maintainers: + - name: OPENAIRINTERFACE + email: contact@openairinterface.org diff --git a/charts/physims/charts/dlsim.100rb+tm2/templates/NOTES.txt b/charts/physims/charts/dlsim.100rb+tm2/templates/NOTES.txt new file mode 100644 index 0000000000000000000000000000000000000000..89f5185499c0503872340e4e2e9d6396a3c6d3a9 --- /dev/null +++ b/charts/physims/charts/dlsim.100rb+tm2/templates/NOTES.txt @@ -0,0 +1,15 @@ +1. Get the application URL by running these commands: +{{- if contains "NodePort" .Values.service.type }} + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "oai-dlsim-100rb-tm2.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.service.type }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "oai-dlsim-100rb-tm2.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "oai-dlsim-100rb-tm2.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") + echo http://$SERVICE_IP:{{ .Values.service.port }} +{{- else if contains "ClusterIP" .Values.service.type }} + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "oai-dlsim-100rb-tm2.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + echo "Visit http://127.0.0.1:8080 to use your application" + kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:80 +{{- end }} diff --git a/charts/physims/charts/dlsim.100rb+tm2/templates/_helpers.tpl b/charts/physims/charts/dlsim.100rb+tm2/templates/_helpers.tpl new file mode 100644 index 0000000000000000000000000000000000000000..ee2418aee19212366d145325cef3d28815c164e1 --- /dev/null +++ b/charts/physims/charts/dlsim.100rb+tm2/templates/_helpers.tpl @@ -0,0 +1,63 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "oai-dlsim-100rb-tm2.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "oai-dlsim-100rb-tm2.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "oai-dlsim-100rb-tm2.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Common labels +*/}} +{{- define "oai-dlsim-100rb-tm2.labels" -}} +helm.sh/chart: {{ include "oai-dlsim-100rb-tm2.chart" . }} +{{ include "oai-dlsim-100rb-tm2.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} + +{{/* +Selector labels +*/}} +{{- define "oai-dlsim-100rb-tm2.selectorLabels" -}} +app.kubernetes.io/name: {{ include "oai-dlsim-100rb-tm2.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end -}} + +{{/* +Create the name of the service account to use +*/}} +{{- define "oai-dlsim-100rb-tm2.serviceAccountName" -}} +{{- if .Values.serviceAccount.create -}} + {{ default (include "oai-dlsim-100rb-tm2.fullname" .) .Values.serviceAccount.name }} +{{- else -}} + {{ default "default" .Values.serviceAccount.name }} +{{- end -}} +{{- end -}} diff --git a/charts/physims/charts/dlsim/templates/deployment.yaml b/charts/physims/charts/dlsim.100rb+tm2/templates/deployment.yaml similarity index 66% rename from charts/physims/charts/dlsim/templates/deployment.yaml rename to charts/physims/charts/dlsim.100rb+tm2/templates/deployment.yaml index 9cbdd383b35dcc1f19e7a0c02ccd6db658dda2ea..88bf277a0336c64ba8ba04205e0329f0688332f9 100644 --- a/charts/physims/charts/dlsim/templates/deployment.yaml +++ b/charts/physims/charts/dlsim.100rb+tm2/templates/deployment.yaml @@ -3,18 +3,18 @@ kind: Deployment metadata: name: {{ .Chart.Name }} labels: - {{- include "oai-dlsim.labels" . | nindent 4 }} + {{- include "oai-dlsim-100rb-tm2.labels" . | nindent 4 }} spec: replicas: {{ .Values.replicaCount }} selector: matchLabels: - {{- include "oai-dlsim.selectorLabels" . | nindent 6 }} + {{- include "oai-dlsim-100rb-tm2.selectorLabels" . | nindent 6 }} strategy: type: Recreate template: metadata: labels: - {{- include "oai-dlsim.selectorLabels" . | nindent 8 }} + {{- include "oai-dlsim-100rb-tm2.selectorLabels" . | nindent 8 }} spec: securityContext: {{- toYaml .Values.podSecurityContext | nindent 8 }} @@ -30,18 +30,14 @@ spec: {{- toYaml .Values.securityContext | nindent 12 }} ports: - containerPort: 80 - name: oai-dlsim - # volumeMounts: - # - mountPath: /opt/oai-dlsim/certs - # name: certs + env: + - name: OPENAIR_DIR + value: /opt/oai-physim command: ["/bin/sh", "-c"] args: - - > - export OPENAIR_DIR=/opt/oai-physim && - cd cmake_targets/autotests && - ./run_exec_autotests.bash -g "015100" -q -np -b && - echo "FINISHED" && - sleep infinity + - > + cmake_targets/autotests/run_exec_autotests.bash -g "dlsim.100rb+tm2" -d bin/ && + echo "FINISHED" && sleep infinity dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler diff --git a/charts/physims/charts/dlsim.100rb+tm2/templates/service.yaml b/charts/physims/charts/dlsim.100rb+tm2/templates/service.yaml new file mode 100644 index 0000000000000000000000000000000000000000..377e567c9aaeae0883d4e346a09a86986e60bf2e --- /dev/null +++ b/charts/physims/charts/dlsim.100rb+tm2/templates/service.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Chart.Name }} + labels: + {{- include "oai-dlsim-100rb-tm2.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} +{{- if contains "ClusterIP" .Values.service.type }} + clusterIP: None +{{- end }} + ports: + - name: oai-dlsim-100rb-tm2 + # Port accessible outside cluster + port: {{ .Values.service.port }} + # Port to forward to inside the pod + targetPort: {{ .Values.service.Port }} + protocol: TCP + selector: + {{- include "oai-dlsim-100rb-tm2.selectorLabels" . | nindent 4 }} diff --git a/charts/physims/charts/dlsim/values.yaml b/charts/physims/charts/dlsim.100rb+tm2/values.yaml similarity index 86% rename from charts/physims/charts/dlsim/values.yaml rename to charts/physims/charts/dlsim.100rb+tm2/values.yaml index 7f45b42f72bf374d04d81f03c43a4eb5ddcb8654..f3d1aa3d743a8f00523b3d4e251ce6780314d03d 100644 --- a/charts/physims/charts/dlsim/values.yaml +++ b/charts/physims/charts/dlsim.100rb+tm2/values.yaml @@ -1,15 +1,10 @@ -# Default values for oai-dlsim. +# Default values for oai-dlsim-100rb+tm2 # This is a YAML-formatted file. # Declare variables to be passed into your templates. replicaCount: 1 -namespace: "OAICICD_PROJECT" - image: - registry: local - repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim - version: temp # pullPolicy: IfNotPresent or Never or Always pullPolicy: Always @@ -25,7 +20,7 @@ serviceAccount: annotations: {} # The name of the service account to use. # If not set and create is true, a name is generated using the fullname template - name: "oai-dlsim-sa" + name: "oai-dlsim-100rb-tm2" podSecurityContext: runAsUser: 0 diff --git a/charts/physims/charts/dlsim/Chart.yaml b/charts/physims/charts/dlsim.basic/Chart.yaml similarity index 92% rename from charts/physims/charts/dlsim/Chart.yaml rename to charts/physims/charts/dlsim.basic/Chart.yaml index de7f5958b2f967d70adeeca94e171a50775a31b8..8fadf3e6b256c4991546f3d0611a2c35d0f371c6 100644 --- a/charts/physims/charts/dlsim/Chart.yaml +++ b/charts/physims/charts/dlsim.basic/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 -name: oai-dlsim -description: A Helm subchart for dlsim network function +name: oai-dlsim-basic +description: A Helm subchart for dlsim network function ("basic" tests) # A chart can be either an 'application' or a 'library' chart. # diff --git a/charts/physims/charts/dlsim/templates/NOTES.txt b/charts/physims/charts/dlsim.basic/templates/NOTES.txt similarity index 74% rename from charts/physims/charts/dlsim/templates/NOTES.txt rename to charts/physims/charts/dlsim.basic/templates/NOTES.txt index 75b79e3dd4d4a30be484fb6ff6b980eef9f56f22..1111598300570b61904aeeb3137c69c4cd8585b9 100644 --- a/charts/physims/charts/dlsim/templates/NOTES.txt +++ b/charts/physims/charts/dlsim.basic/templates/NOTES.txt @@ -1,15 +1,15 @@ 1. Get the application URL by running these commands: {{- if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "oai-dlsim.fullname" . }}) + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "oai-dlsim-basic.fullname" . }}) export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") echo http://$NODE_IP:$NODE_PORT {{- else if contains "LoadBalancer" .Values.service.type }} NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "oai-dlsim.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "oai-dlsim.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") + You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "oai-dlsim-basic.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "oai-dlsim-basic.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") echo http://$SERVICE_IP:{{ .Values.service.port }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "oai-dlsim.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "oai-dlsim-basic.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:80 {{- end }} diff --git a/charts/physims/charts/nr-pbchsim/templates/_helpers.tpl b/charts/physims/charts/dlsim.basic/templates/_helpers.tpl similarity index 73% rename from charts/physims/charts/nr-pbchsim/templates/_helpers.tpl rename to charts/physims/charts/dlsim.basic/templates/_helpers.tpl index 0e3103334384493a08e2c883f1cd9964fa1f400a..d6dac8be457dfa6914245b39f6caee2073bff121 100644 --- a/charts/physims/charts/nr-pbchsim/templates/_helpers.tpl +++ b/charts/physims/charts/dlsim.basic/templates/_helpers.tpl @@ -2,7 +2,7 @@ {{/* Expand the name of the chart. */}} -{{- define "oai-nr-pbchsim.name" -}} +{{- define "oai-dlsim-basic.name" -}} {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} {{- end -}} @@ -11,7 +11,7 @@ Create a default fully qualified app name. We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). If release name contains chart name it will be used as a full name. */}} -{{- define "oai-nr-pbchsim.fullname" -}} +{{- define "oai-dlsim-basic.fullname" -}} {{- if .Values.fullnameOverride -}} {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} {{- else -}} @@ -27,16 +27,16 @@ If release name contains chart name it will be used as a full name. {{/* Create chart name and version as used by the chart label. */}} -{{- define "oai-nr-pbchsim.chart" -}} +{{- define "oai-dlsim-basic.chart" -}} {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} {{- end -}} {{/* Common labels */}} -{{- define "oai-nr-pbchsim.labels" -}} -helm.sh/chart: {{ include "oai-nr-pbchsim.chart" . }} -{{ include "oai-nr-pbchsim.selectorLabels" . }} +{{- define "oai-dlsim-basic.labels" -}} +helm.sh/chart: {{ include "oai-dlsim-basic.chart" . }} +{{ include "oai-dlsim-basic.selectorLabels" . }} {{- if .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} {{- end }} @@ -46,17 +46,17 @@ app.kubernetes.io/managed-by: {{ .Release.Service }} {{/* Selector labels */}} -{{- define "oai-nr-pbchsim.selectorLabels" -}} -app.kubernetes.io/name: {{ include "oai-nr-pbchsim.name" . }} +{{- define "oai-dlsim-basic.selectorLabels" -}} +app.kubernetes.io/name: {{ include "oai-dlsim-basic.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- end -}} {{/* Create the name of the service account to use */}} -{{- define "oai-nr-pbchsim.serviceAccountName" -}} +{{- define "oai-dlsim-basic.serviceAccountName" -}} {{- if .Values.serviceAccount.create -}} - {{ default (include "oai-nr-pbchsim.fullname" .) .Values.serviceAccount.name }} + {{ default (include "oai-dlsim-basic.fullname" .) .Values.serviceAccount.name }} {{- else -}} {{ default "default" .Values.serviceAccount.name }} {{- end -}} diff --git a/charts/physims/charts/nr-ulsim/templates/deployment.yaml b/charts/physims/charts/dlsim.basic/templates/deployment.yaml similarity index 65% rename from charts/physims/charts/nr-ulsim/templates/deployment.yaml rename to charts/physims/charts/dlsim.basic/templates/deployment.yaml index c0fa5ceb3b1b28c578c4cf6b1be3623574b15a68..f74f50472753e8eb0e3cb890a0f423221a2bcf65 100644 --- a/charts/physims/charts/nr-ulsim/templates/deployment.yaml +++ b/charts/physims/charts/dlsim.basic/templates/deployment.yaml @@ -3,18 +3,18 @@ kind: Deployment metadata: name: {{ .Chart.Name }} labels: - {{- include "oai-nr-ulsim.labels" . | nindent 4 }} + {{- include "oai-dlsim-basic.labels" . | nindent 4 }} spec: replicas: {{ .Values.replicaCount }} selector: matchLabels: - {{- include "oai-nr-ulsim.selectorLabels" . | nindent 6 }} + {{- include "oai-dlsim-basic.selectorLabels" . | nindent 6 }} strategy: type: Recreate template: metadata: labels: - {{- include "oai-nr-ulsim.selectorLabels" . | nindent 8 }} + {{- include "oai-dlsim-basic.selectorLabels" . | nindent 8 }} spec: securityContext: {{- toYaml .Values.podSecurityContext | nindent 8 }} @@ -30,18 +30,14 @@ spec: {{- toYaml .Values.securityContext | nindent 12 }} ports: - containerPort: 80 - name: oai-nr-ulsim - # volumeMounts: - # - mountPath: /opt/oai-nr-ulsim/certs - # name: certs + env: + - name: OPENAIR_DIR + value: /opt/oai-physim command: ["/bin/sh", "-c"] args: - - > - export OPENAIR_DIR=/opt/oai-physim && - cd cmake_targets/autotests && - ./run_exec_autotests.bash -g "015111" -q -np -b && - echo "FINISHED" && - sleep infinity + - > + cmake_targets/autotests/run_exec_autotests.bash -g "dlsim.basic" -d bin/ && + echo "FINISHED" && sleep infinity dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler diff --git a/charts/physims/charts/dlsim/templates/service.yaml b/charts/physims/charts/dlsim.basic/templates/service.yaml similarity index 72% rename from charts/physims/charts/dlsim/templates/service.yaml rename to charts/physims/charts/dlsim.basic/templates/service.yaml index 6aeb0dbf530981d9c209cdb7f766d00f1267cd23..27e22a31d99323e9f65b22feb69f01b6eca4bc1d 100644 --- a/charts/physims/charts/dlsim/templates/service.yaml +++ b/charts/physims/charts/dlsim.basic/templates/service.yaml @@ -3,18 +3,18 @@ kind: Service metadata: name: {{ .Chart.Name }} labels: - {{- include "oai-dlsim.labels" . | nindent 4 }} + {{- include "oai-dlsim-basic.labels" . | nindent 4 }} spec: type: {{ .Values.service.type }} {{- if contains "ClusterIP" .Values.service.type }} clusterIP: None {{- end }} ports: - - name: oai-dlsim + - name: oai-dlsim-basic # Port accessible outside cluster port: {{ .Values.service.port }} # Port to forward to inside the pod targetPort: {{ .Values.service.Port }} protocol: TCP selector: - {{- include "oai-dlsim.selectorLabels" . | nindent 4 }} + {{- include "oai-dlsim-basic.selectorLabels" . | nindent 4 }} diff --git a/charts/physims/charts/nr-ulsim/values.yaml b/charts/physims/charts/dlsim.basic/values.yaml similarity index 86% rename from charts/physims/charts/nr-ulsim/values.yaml rename to charts/physims/charts/dlsim.basic/values.yaml index 71c455b69cc55849105891c6821681b3a72ebef1..e36679ec2b7c20e42fc5e2a5092c1e6821069252 100644 --- a/charts/physims/charts/nr-ulsim/values.yaml +++ b/charts/physims/charts/dlsim.basic/values.yaml @@ -1,15 +1,10 @@ -# Default values for oai-nr-ulsim. +# Default values for oai-dlsim-basic # This is a YAML-formatted file. # Declare variables to be passed into your templates. replicaCount: 1 -namespace: "OAICICD_PROJECT" - image: - registry: local - repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim - version: temp # pullPolicy: IfNotPresent or Never or Always pullPolicy: Always @@ -25,7 +20,7 @@ serviceAccount: annotations: {} # The name of the service account to use. # If not set and create is true, a name is generated using the fullname template - name: "oai-nr-ulsim-sa" + name: "oai-dlsim-basic" podSecurityContext: runAsUser: 0 diff --git a/charts/physims/charts/ldpctest/templates/deployment.yaml b/charts/physims/charts/ldpctest/templates/deployment.yaml index ef30d9c08ad335dc4611d5798ae3edac560dbac6..8df3df5c462f5e01425be03c3d6f0582b8897e8e 100644 --- a/charts/physims/charts/ldpctest/templates/deployment.yaml +++ b/charts/physims/charts/ldpctest/templates/deployment.yaml @@ -30,18 +30,14 @@ spec: {{- toYaml .Values.securityContext | nindent 12 }} ports: - containerPort: 80 - name: oai-ldpctest - # volumeMounts: - # - mountPath: /opt/oai-ldpctest/certs - # name: certs + env: + - name: OPENAIR_DIR + value: /opt/oai-physim command: ["/bin/sh", "-c"] args: - > - export OPENAIR_DIR=/opt/oai-physim && - cd cmake_targets/autotests && - ./run_exec_autotests.bash -g "015102" -q -np -b && - echo "FINISHED" && - sleep infinity + cmake_targets/autotests/run_exec_autotests.bash -g "ldpctest" -d bin/ && + echo "FINISHED" && sleep infinity dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler diff --git a/charts/physims/charts/ldpctest/values.yaml b/charts/physims/charts/ldpctest/values.yaml index b3cc476cf86116a1616856d61d53b3a4307ed96f..0ac20e6dd371bb5924c7417052bce0d138ed74f9 100644 --- a/charts/physims/charts/ldpctest/values.yaml +++ b/charts/physims/charts/ldpctest/values.yaml @@ -4,12 +4,7 @@ replicaCount: 1 -namespace: "OAICICD_PROJECT" - image: - registry: local - repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim - version: temp # pullPolicy: IfNotPresent or Never or Always pullPolicy: Always diff --git a/charts/physims/charts/nr-dlschsim/templates/deployment.yaml b/charts/physims/charts/nr-dlschsim/templates/deployment.yaml index 06f01a0f0baeaa38a61bc85a0d6878302becb578..1016dbef560121ed40c7f84353e2b4bae07e864e 100644 --- a/charts/physims/charts/nr-dlschsim/templates/deployment.yaml +++ b/charts/physims/charts/nr-dlschsim/templates/deployment.yaml @@ -30,18 +30,14 @@ spec: {{- toYaml .Values.securityContext | nindent 12 }} ports: - containerPort: 80 - name: oai-nr-dlschsim - # volumeMounts: - # - mountPath: /opt/oai-nr-dlschsim/certs - # name: certs + env: + - name: OPENAIR_DIR + value: /opt/oai-physim command: ["/bin/sh", "-c"] args: - > - export OPENAIR_DIR=/opt/oai-physim && - cd cmake_targets/autotests && - ./run_exec_autotests.bash -g "015106" -q -np -b && - echo "FINISHED" && - sleep infinity + cmake_targets/autotests/run_exec_autotests.bash -g "nr_dlschsim" -d bin/ && + echo "FINISHED" && sleep infinity dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler diff --git a/charts/physims/charts/nr-dlschsim/values.yaml b/charts/physims/charts/nr-dlschsim/values.yaml index b7ef28f47a7b8e7b969a9886cf28b4b5faf6bf1c..cb32095f7641fe1627395ea28f5876a0b1638304 100644 --- a/charts/physims/charts/nr-dlschsim/values.yaml +++ b/charts/physims/charts/nr-dlschsim/values.yaml @@ -4,12 +4,7 @@ replicaCount: 1 -namespace: "OAICICD_PROJECT" - image: - registry: local - repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim - version: temp # pullPolicy: IfNotPresent or Never or Always pullPolicy: Always diff --git a/charts/physims/charts/nr-dlsim/Chart.yaml b/charts/physims/charts/nr-dlsim.basic/Chart.yaml similarity index 91% rename from charts/physims/charts/nr-dlsim/Chart.yaml rename to charts/physims/charts/nr-dlsim.basic/Chart.yaml index 2ec4b7eabdfbb97e2dbc71428c500f7ee42cc4e4..b2a090a4b22db95abde099a59151c4770124f1c8 100644 --- a/charts/physims/charts/nr-dlsim/Chart.yaml +++ b/charts/physims/charts/nr-dlsim.basic/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 -name: oai-nr-dlsim -description: A Helm subchart for nr-dlsim network function +name: oai-nr-dlsim-basic +description: A Helm subchart for nr-dlsim network function ("basic" tests) # A chart can be either an 'application' or a 'library' chart. # diff --git a/charts/physims/charts/nr-dlsim/templates/NOTES.txt b/charts/physims/charts/nr-dlsim.basic/templates/NOTES.txt similarity index 73% rename from charts/physims/charts/nr-dlsim/templates/NOTES.txt rename to charts/physims/charts/nr-dlsim.basic/templates/NOTES.txt index 79027454cfbd9411a7cc6722e4e2fbe05beb039a..c8a7bbfd1b2263bb385128900b52534981c6fa9f 100644 --- a/charts/physims/charts/nr-dlsim/templates/NOTES.txt +++ b/charts/physims/charts/nr-dlsim.basic/templates/NOTES.txt @@ -1,15 +1,15 @@ 1. Get the application URL by running these commands: {{- if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "oai-nr-dlsim.fullname" . }}) + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "oai-nr-dlsim-basic.fullname" . }}) export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") echo http://$NODE_IP:$NODE_PORT {{- else if contains "LoadBalancer" .Values.service.type }} NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "oai-nr-dlsim.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "oai-nr-dlsim.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") + You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "oai-nr-dlsim-basic.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "oai-nr-dlsim-basic.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") echo http://$SERVICE_IP:{{ .Values.service.port }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "oai-nr-dlsim.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "oai-nr-dlsim-basic.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:80 {{- end }} diff --git a/charts/physims/charts/nr-dlsim.basic/templates/_helpers.tpl b/charts/physims/charts/nr-dlsim.basic/templates/_helpers.tpl new file mode 100644 index 0000000000000000000000000000000000000000..733a3670615bf1f8c014d6d0245573da30aef334 --- /dev/null +++ b/charts/physims/charts/nr-dlsim.basic/templates/_helpers.tpl @@ -0,0 +1,63 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "oai-nr-dlsim-basic.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "oai-nr-dlsim-basic.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "oai-nr-dlsim-basic.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Common labels +*/}} +{{- define "oai-nr-dlsim-basic.labels" -}} +helm.sh/chart: {{ include "oai-nr-dlsim-basic.chart" . }} +{{ include "oai-nr-dlsim-basic.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} + +{{/* +Selector labels +*/}} +{{- define "oai-nr-dlsim-basic.selectorLabels" -}} +app.kubernetes.io/name: {{ include "oai-nr-dlsim-basic.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end -}} + +{{/* +Create the name of the service account to use +*/}} +{{- define "oai-nr-dlsim-basic.serviceAccountName" -}} +{{- if .Values.serviceAccount.create -}} + {{ default (include "oai-nr-dlsim-basic.fullname" .) .Values.serviceAccount.name }} +{{- else -}} + {{ default "default" .Values.serviceAccount.name }} +{{- end -}} +{{- end -}} diff --git a/charts/physims/charts/nr-pbchsim/templates/deployment.yaml b/charts/physims/charts/nr-dlsim.basic/templates/deployment.yaml similarity index 65% rename from charts/physims/charts/nr-pbchsim/templates/deployment.yaml rename to charts/physims/charts/nr-dlsim.basic/templates/deployment.yaml index 551785abc0ddf08998599cef769a34ccc09f93f4..72ae0406d0fc47d21774f124429e7effb6c036ab 100644 --- a/charts/physims/charts/nr-pbchsim/templates/deployment.yaml +++ b/charts/physims/charts/nr-dlsim.basic/templates/deployment.yaml @@ -3,18 +3,18 @@ kind: Deployment metadata: name: {{ .Chart.Name }} labels: - {{- include "oai-nr-pbchsim.labels" . | nindent 4 }} + {{- include "oai-nr-dlsim-basic.labels" . | nindent 4 }} spec: replicas: {{ .Values.replicaCount }} selector: matchLabels: - {{- include "oai-nr-pbchsim.selectorLabels" . | nindent 6 }} + {{- include "oai-nr-dlsim-basic.selectorLabels" . | nindent 6 }} strategy: type: Recreate template: metadata: labels: - {{- include "oai-nr-pbchsim.selectorLabels" . | nindent 8 }} + {{- include "oai-nr-dlsim-basic.selectorLabels" . | nindent 8 }} spec: securityContext: {{- toYaml .Values.podSecurityContext | nindent 8 }} @@ -30,18 +30,14 @@ spec: {{- toYaml .Values.securityContext | nindent 12 }} ports: - containerPort: 80 - name: oai-nr-pbchsim - # volumeMounts: - # - mountPath: /opt/oai-nr-pbchsim/certs - # name: certs + env: + - name: OPENAIR_DIR + value: /opt/oai-physim command: ["/bin/sh", "-c"] args: - - > - export OPENAIR_DIR=/opt/oai-physim && - cd cmake_targets/autotests && - ./run_exec_autotests.bash -g "015104" -q -np -b && - echo "FINISHED" && - sleep infinity + - > + cmake_targets/autotests/run_exec_autotests.bash -g "nr_dlsim.basic" -d bin/ && + echo "FINISHED" && sleep infinity dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler diff --git a/charts/physims/charts/nr-dlsim.basic/templates/service.yaml b/charts/physims/charts/nr-dlsim.basic/templates/service.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5bf3baf7721421a3f5c17cb98743b8492605f210 --- /dev/null +++ b/charts/physims/charts/nr-dlsim.basic/templates/service.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Chart.Name }} + labels: + {{- include "oai-nr-dlsim-basic.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} +{{- if contains "ClusterIP" .Values.service.type }} + clusterIP: None +{{- end }} + ports: + - name: oai-nr-dlsim-basic + # Port accessible outside cluster + port: {{ .Values.service.port }} + # Port to forward to inside the pod + targetPort: {{ .Values.service.Port }} + protocol: TCP + selector: + {{- include "oai-nr-dlsim-basic.selectorLabels" . | nindent 4 }} diff --git a/charts/physims/charts/nr-dlsim/values.yaml b/charts/physims/charts/nr-dlsim.basic/values.yaml similarity index 86% rename from charts/physims/charts/nr-dlsim/values.yaml rename to charts/physims/charts/nr-dlsim.basic/values.yaml index 2a35912fee5ed100b80c4871b799bcc28d48f40d..4b9db13d7eeaddc0c56006ae978b56ecb5d79480 100644 --- a/charts/physims/charts/nr-dlsim/values.yaml +++ b/charts/physims/charts/nr-dlsim.basic/values.yaml @@ -1,15 +1,10 @@ -# Default values for oai-nr-dlsim. +# Default values for oai-nr-dlsim-basic # This is a YAML-formatted file. # Declare variables to be passed into your templates. replicaCount: 1 -namespace: "OAICICD_PROJECT" - image: - registry: local - repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim - version: temp # pullPolicy: IfNotPresent or Never or Always pullPolicy: Always @@ -25,7 +20,7 @@ serviceAccount: annotations: {} # The name of the service account to use. # If not set and create is true, a name is generated using the fullname template - name: "oai-nr-dlsim-sa" + name: "oai-nr-dlsim-basic" podSecurityContext: runAsUser: 0 diff --git a/charts/physims/charts/nr-dlsim.dmrs+ptrs/Chart.yaml b/charts/physims/charts/nr-dlsim.dmrs+ptrs/Chart.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c5f51341c40ddf1d890ba1bb73adfaa086e73471 --- /dev/null +++ b/charts/physims/charts/nr-dlsim.dmrs+ptrs/Chart.yaml @@ -0,0 +1,36 @@ +apiVersion: v1 +name: oai-nr-dlsim-dmrs-ptrs +description: A Helm subchart for nr-dlsim network function ("dmrs+ptrs" tests) + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +version: 0.1.1 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. +appVersion: v1 + +keywords: + - Physical Simulator + - nr-dlsim + - RAN + - 5G + +sources: + - https://gitlab.eurecom.fr/oai/openairinterface5g + +maintainers: + - name: OPENAIRINTERFACE + email: contact@openairinterface.org diff --git a/charts/physims/charts/nr-dlsim.dmrs+ptrs/templates/NOTES.txt b/charts/physims/charts/nr-dlsim.dmrs+ptrs/templates/NOTES.txt new file mode 100644 index 0000000000000000000000000000000000000000..5e8f9ba04653008f0658f330ed9a2a71dad64966 --- /dev/null +++ b/charts/physims/charts/nr-dlsim.dmrs+ptrs/templates/NOTES.txt @@ -0,0 +1,15 @@ +1. Get the application URL by running these commands: +{{- if contains "NodePort" .Values.service.type }} + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "oai-nr-dlsim-dmrs-ptrs.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.service.type }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "oai-nr-dlsim-dmrs-ptrs.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "oai-nr-dlsim-dmrs-ptrs.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") + echo http://$SERVICE_IP:{{ .Values.service.port }} +{{- else if contains "ClusterIP" .Values.service.type }} + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "oai-nr-dlsim-dmrs-ptrs.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + echo "Visit http://127.0.0.1:8080 to use your application" + kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:80 +{{- end }} diff --git a/charts/physims/charts/nr-dlsim.dmrs+ptrs/templates/_helpers.tpl b/charts/physims/charts/nr-dlsim.dmrs+ptrs/templates/_helpers.tpl new file mode 100644 index 0000000000000000000000000000000000000000..85bf9e860cfcb91a27959d3cabe6a45018f5fd94 --- /dev/null +++ b/charts/physims/charts/nr-dlsim.dmrs+ptrs/templates/_helpers.tpl @@ -0,0 +1,63 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "oai-nr-dlsim-dmrs-ptrs.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "oai-nr-dlsim-dmrs-ptrs.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "oai-nr-dlsim-dmrs-ptrs.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Common labels +*/}} +{{- define "oai-nr-dlsim-dmrs-ptrs.labels" -}} +helm.sh/chart: {{ include "oai-nr-dlsim-dmrs-ptrs.chart" . }} +{{ include "oai-nr-dlsim-dmrs-ptrs.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} + +{{/* +Selector labels +*/}} +{{- define "oai-nr-dlsim-dmrs-ptrs.selectorLabels" -}} +app.kubernetes.io/name: {{ include "oai-nr-dlsim-dmrs-ptrs.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end -}} + +{{/* +Create the name of the service account to use +*/}} +{{- define "oai-nr-dlsim-dmrs-ptrs.serviceAccountName" -}} +{{- if .Values.serviceAccount.create -}} + {{ default (include "oai-nr-dlsim-dmrs-ptrs.fullname" .) .Values.serviceAccount.name }} +{{- else -}} + {{ default "default" .Values.serviceAccount.name }} +{{- end -}} +{{- end -}} diff --git a/charts/physims/charts/nr-dlsim/templates/deployment.yaml b/charts/physims/charts/nr-dlsim.dmrs+ptrs/templates/deployment.yaml similarity index 65% rename from charts/physims/charts/nr-dlsim/templates/deployment.yaml rename to charts/physims/charts/nr-dlsim.dmrs+ptrs/templates/deployment.yaml index 4c38664e61b14c8a473f1193b5686725a93089bc..847a1e1aee00d7106d6e87334ebb4f3ec9f35d2f 100644 --- a/charts/physims/charts/nr-dlsim/templates/deployment.yaml +++ b/charts/physims/charts/nr-dlsim.dmrs+ptrs/templates/deployment.yaml @@ -3,18 +3,18 @@ kind: Deployment metadata: name: {{ .Chart.Name }} labels: - {{- include "oai-nr-dlsim.labels" . | nindent 4 }} + {{- include "oai-nr-dlsim-dmrs-ptrs.labels" . | nindent 4 }} spec: replicas: {{ .Values.replicaCount }} selector: matchLabels: - {{- include "oai-nr-dlsim.selectorLabels" . | nindent 6 }} + {{- include "oai-nr-dlsim-dmrs-ptrs.selectorLabels" . | nindent 6 }} strategy: type: Recreate template: metadata: labels: - {{- include "oai-nr-dlsim.selectorLabels" . | nindent 8 }} + {{- include "oai-nr-dlsim-dmrs-ptrs.selectorLabels" . | nindent 8 }} spec: securityContext: {{- toYaml .Values.podSecurityContext | nindent 8 }} @@ -30,18 +30,14 @@ spec: {{- toYaml .Values.securityContext | nindent 12 }} ports: - containerPort: 80 - name: oai-nr-dlsim - # volumeMounts: - # - mountPath: /opt/oai-nr-dlsim/certs - # name: certs + env: + - name: OPENAIR_DIR + value: /opt/oai-physim command: ["/bin/sh", "-c"] args: - - > - export OPENAIR_DIR=/opt/oai-physim && - cd cmake_targets/autotests && - ./run_exec_autotests.bash -g "015105" -q -np -b && - echo "FINISHED" && - sleep infinity + - > + cmake_targets/autotests/run_exec_autotests.bash -g "nr_dlsim.dmrs+ptrs" -d bin/ && + echo "FINISHED" && sleep infinity dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler diff --git a/charts/physims/charts/nr-dlsim.dmrs+ptrs/templates/service.yaml b/charts/physims/charts/nr-dlsim.dmrs+ptrs/templates/service.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b2c3a43b5542abb5f64acc608d10ba7886d70271 --- /dev/null +++ b/charts/physims/charts/nr-dlsim.dmrs+ptrs/templates/service.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Chart.Name }} + labels: + {{- include "oai-nr-dlsim-dmrs-ptrs.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} +{{- if contains "ClusterIP" .Values.service.type }} + clusterIP: None +{{- end }} + ports: + - name: oai-nr-dlsim-dmrs-ptrs + # Port accessible outside cluster + port: {{ .Values.service.port }} + # Port to forward to inside the pod + targetPort: {{ .Values.service.Port }} + protocol: TCP + selector: + {{- include "oai-nr-dlsim-dmrs-ptrs.selectorLabels" . | nindent 4 }} diff --git a/charts/physims/charts/nr-pbchsim/values.yaml b/charts/physims/charts/nr-dlsim.dmrs+ptrs/values.yaml similarity index 85% rename from charts/physims/charts/nr-pbchsim/values.yaml rename to charts/physims/charts/nr-dlsim.dmrs+ptrs/values.yaml index 9a25d2810da87d0fc9f21506db974f72a4230c6c..8c1814f19dc6f625a007c6ec05ecb37799c4d82f 100644 --- a/charts/physims/charts/nr-pbchsim/values.yaml +++ b/charts/physims/charts/nr-dlsim.dmrs+ptrs/values.yaml @@ -1,15 +1,10 @@ -# Default values for oai-nr-pbchsim. +# Default values for oai-nr-dlsim-dmrs+ptrs # This is a YAML-formatted file. # Declare variables to be passed into your templates. replicaCount: 1 -namespace: "OAICICD_PROJECT" - image: - registry: local - repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim - version: temp # pullPolicy: IfNotPresent or Never or Always pullPolicy: Always @@ -25,7 +20,7 @@ serviceAccount: annotations: {} # The name of the service account to use. # If not set and create is true, a name is generated using the fullname template - name: "oai-nr-pbchsim-sa" + name: "oai-nr-dlsim-dmrs-ptrs" podSecurityContext: runAsUser: 0 diff --git a/charts/physims/charts/nr-dlsim.mcs+mimo/Chart.yaml b/charts/physims/charts/nr-dlsim.mcs+mimo/Chart.yaml new file mode 100644 index 0000000000000000000000000000000000000000..55ea194f075996fc41e48f944dd2023d0c0da6ff --- /dev/null +++ b/charts/physims/charts/nr-dlsim.mcs+mimo/Chart.yaml @@ -0,0 +1,36 @@ +apiVersion: v1 +name: oai-nr-dlsim-mcs-mimo +description: A Helm subchart for nr-dlsim network function ("mcs+mimo" tests) + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +version: 0.1.1 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. +appVersion: v1 + +keywords: + - Physical Simulator + - nr-dlsim + - RAN + - 5G + +sources: + - https://gitlab.eurecom.fr/oai/openairinterface5g + +maintainers: + - name: OPENAIRINTERFACE + email: contact@openairinterface.org diff --git a/charts/physims/charts/nr-dlsim.mcs+mimo/templates/NOTES.txt b/charts/physims/charts/nr-dlsim.mcs+mimo/templates/NOTES.txt new file mode 100644 index 0000000000000000000000000000000000000000..34e88d2136553b6b7fea5467346cbfbf78d00779 --- /dev/null +++ b/charts/physims/charts/nr-dlsim.mcs+mimo/templates/NOTES.txt @@ -0,0 +1,15 @@ +1. Get the application URL by running these commands: +{{- if contains "NodePort" .Values.service.type }} + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "oai-nr-dlsim-mcs-mimo.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.service.type }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "oai-nr-dlsim-mcs-mimo.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "oai-nr-dlsim-mcs-mimo.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") + echo http://$SERVICE_IP:{{ .Values.service.port }} +{{- else if contains "ClusterIP" .Values.service.type }} + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "oai-nr-dlsim-mcs-mimo.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + echo "Visit http://127.0.0.1:8080 to use your application" + kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:80 +{{- end }} diff --git a/charts/physims/charts/nr-dlsim.mcs+mimo/templates/_helpers.tpl b/charts/physims/charts/nr-dlsim.mcs+mimo/templates/_helpers.tpl new file mode 100644 index 0000000000000000000000000000000000000000..246383d370ca6a682c6890f1705b3279318b9738 --- /dev/null +++ b/charts/physims/charts/nr-dlsim.mcs+mimo/templates/_helpers.tpl @@ -0,0 +1,63 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "oai-nr-dlsim-mcs-mimo.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "oai-nr-dlsim-mcs-mimo.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "oai-nr-dlsim-mcs-mimo.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Common labels +*/}} +{{- define "oai-nr-dlsim-mcs-mimo.labels" -}} +helm.sh/chart: {{ include "oai-nr-dlsim-mcs-mimo.chart" . }} +{{ include "oai-nr-dlsim-mcs-mimo.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} + +{{/* +Selector labels +*/}} +{{- define "oai-nr-dlsim-mcs-mimo.selectorLabels" -}} +app.kubernetes.io/name: {{ include "oai-nr-dlsim-mcs-mimo.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end -}} + +{{/* +Create the name of the service account to use +*/}} +{{- define "oai-nr-dlsim-mcs-mimo.serviceAccountName" -}} +{{- if .Values.serviceAccount.create -}} + {{ default (include "oai-nr-dlsim-mcs-mimo.fullname" .) .Values.serviceAccount.name }} +{{- else -}} + {{ default "default" .Values.serviceAccount.name }} +{{- end -}} +{{- end -}} diff --git a/charts/physims/charts/nr-dlsim.mcs+mimo/templates/deployment.yaml b/charts/physims/charts/nr-dlsim.mcs+mimo/templates/deployment.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c79eaf01a2d19002cb98c8a5e8aa85de4189e017 --- /dev/null +++ b/charts/physims/charts/nr-dlsim.mcs+mimo/templates/deployment.yaml @@ -0,0 +1,45 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Chart.Name }} + labels: + {{- include "oai-nr-dlsim-mcs-mimo.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + {{- include "oai-nr-dlsim-mcs-mimo.selectorLabels" . | nindent 6 }} + strategy: + type: Recreate + template: + metadata: + labels: + {{- include "oai-nr-dlsim-mcs-mimo.selectorLabels" . | nindent 8 }} + spec: + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + {{- if .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + containers: + - name: physim + image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + ports: + - containerPort: 80 + env: + - name: OPENAIR_DIR + value: /opt/oai-physim + command: ["/bin/sh", "-c"] + args: + - > + cmake_targets/autotests/run_exec_autotests.bash -g "nr_dlsim.mcs+mimo" -d bin/ && + echo "FINISHED" && sleep infinity + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + serviceAccountName: {{ .Values.global.serviceAccountName }} + terminationGracePeriodSeconds: 30 diff --git a/charts/physims/charts/nr-dlsim.mcs+mimo/templates/service.yaml b/charts/physims/charts/nr-dlsim.mcs+mimo/templates/service.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c1552fc314d70ad33ca0780dc57444b59827c75f --- /dev/null +++ b/charts/physims/charts/nr-dlsim.mcs+mimo/templates/service.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Chart.Name }} + labels: + {{- include "oai-nr-dlsim-mcs-mimo.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} +{{- if contains "ClusterIP" .Values.service.type }} + clusterIP: None +{{- end }} + ports: + - name: oai-nr-dlsim-mcs-mimo + # Port accessible outside cluster + port: {{ .Values.service.port }} + # Port to forward to inside the pod + targetPort: {{ .Values.service.Port }} + protocol: TCP + selector: + {{- include "oai-nr-dlsim-mcs-mimo.selectorLabels" . | nindent 4 }} diff --git a/charts/physims/charts/nr-dlsim.mcs+mimo/values.yaml b/charts/physims/charts/nr-dlsim.mcs+mimo/values.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5bb48ad15db5a98e3183e50eccaa3c2912a369ab --- /dev/null +++ b/charts/physims/charts/nr-dlsim.mcs+mimo/values.yaml @@ -0,0 +1,60 @@ +# Default values for oai-nr-dlsim-mcs-mimo +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +image: + # pullPolicy: IfNotPresent or Never or Always + pullPolicy: Always + +imagePullSecrets: [] + +nameOverride: "" +fullnameOverride: "" + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "oai-nr-dlsim-mcs-mimo" + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +securityContext: + privileged: true + capabilities: + add: + - SYS_CAP_PTRACE + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + +service: + type: ClusterIP + port: 80 + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +nodeSelector: {} + +tolerations: [] + +affinity: {} diff --git a/charts/physims/charts/nr-dlsim.offset/Chart.yaml b/charts/physims/charts/nr-dlsim.offset/Chart.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e4fa9a4100f0d30ff6d96f4923a81ab0a759e9e9 --- /dev/null +++ b/charts/physims/charts/nr-dlsim.offset/Chart.yaml @@ -0,0 +1,36 @@ +apiVersion: v1 +name: oai-nr-dlsim-offset +description: A Helm subchart for nr-dlsim network function ("offset" tests) + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +version: 0.1.1 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. +appVersion: v1 + +keywords: + - Physical Simulator + - nr-dlsim + - RAN + - 5G + +sources: + - https://gitlab.eurecom.fr/oai/openairinterface5g + +maintainers: + - name: OPENAIRINTERFACE + email: contact@openairinterface.org diff --git a/charts/physims/charts/nr-dlsim.offset/templates/NOTES.txt b/charts/physims/charts/nr-dlsim.offset/templates/NOTES.txt new file mode 100644 index 0000000000000000000000000000000000000000..9a7d8f601309f5d997486e1028ac9d634e086ac4 --- /dev/null +++ b/charts/physims/charts/nr-dlsim.offset/templates/NOTES.txt @@ -0,0 +1,15 @@ +1. Get the application URL by running these commands: +{{- if contains "NodePort" .Values.service.type }} + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "oai-nr-dlsim-offset.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.service.type }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "oai-nr-dlsim-offset.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "oai-nr-dlsim-offset.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") + echo http://$SERVICE_IP:{{ .Values.service.port }} +{{- else if contains "ClusterIP" .Values.service.type }} + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "oai-nr-dlsim-offset.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + echo "Visit http://127.0.0.1:8080 to use your application" + kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:80 +{{- end }} diff --git a/charts/physims/charts/nr-dlsim.offset/templates/_helpers.tpl b/charts/physims/charts/nr-dlsim.offset/templates/_helpers.tpl new file mode 100644 index 0000000000000000000000000000000000000000..74417c21d99ecd3fce188f4fdf3ccd1da42a966f --- /dev/null +++ b/charts/physims/charts/nr-dlsim.offset/templates/_helpers.tpl @@ -0,0 +1,63 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "oai-nr-dlsim-offset.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "oai-nr-dlsim-offset.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "oai-nr-dlsim-offset.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Common labels +*/}} +{{- define "oai-nr-dlsim-offset.labels" -}} +helm.sh/chart: {{ include "oai-nr-dlsim-offset.chart" . }} +{{ include "oai-nr-dlsim-offset.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} + +{{/* +Selector labels +*/}} +{{- define "oai-nr-dlsim-offset.selectorLabels" -}} +app.kubernetes.io/name: {{ include "oai-nr-dlsim-offset.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end -}} + +{{/* +Create the name of the service account to use +*/}} +{{- define "oai-nr-dlsim-offset.serviceAccountName" -}} +{{- if .Values.serviceAccount.create -}} + {{ default (include "oai-nr-dlsim-offset.fullname" .) .Values.serviceAccount.name }} +{{- else -}} + {{ default "default" .Values.serviceAccount.name }} +{{- end -}} +{{- end -}} diff --git a/charts/physims/charts/nr-dlsim.offset/templates/deployment.yaml b/charts/physims/charts/nr-dlsim.offset/templates/deployment.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b952654c9326a44573898a2aa834617b7427c781 --- /dev/null +++ b/charts/physims/charts/nr-dlsim.offset/templates/deployment.yaml @@ -0,0 +1,45 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Chart.Name }} + labels: + {{- include "oai-nr-dlsim-offset.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + {{- include "oai-nr-dlsim-offset.selectorLabels" . | nindent 6 }} + strategy: + type: Recreate + template: + metadata: + labels: + {{- include "oai-nr-dlsim-offset.selectorLabels" . | nindent 8 }} + spec: + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + {{- if .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + containers: + - name: physim + image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + ports: + - containerPort: 80 + env: + - name: OPENAIR_DIR + value: /opt/oai-physim + command: ["/bin/sh", "-c"] + args: + - > + cmake_targets/autotests/run_exec_autotests.bash -g "nr_dlsim.offset" -d bin/ && + echo "FINISHED" && sleep infinity + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + serviceAccountName: {{ .Values.global.serviceAccountName }} + terminationGracePeriodSeconds: 30 diff --git a/charts/physims/charts/nr-dlsim.offset/templates/service.yaml b/charts/physims/charts/nr-dlsim.offset/templates/service.yaml new file mode 100644 index 0000000000000000000000000000000000000000..dfcbc675a9f9061242e26336451e289609dffc2d --- /dev/null +++ b/charts/physims/charts/nr-dlsim.offset/templates/service.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Chart.Name }} + labels: + {{- include "oai-nr-dlsim-offset.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} +{{- if contains "ClusterIP" .Values.service.type }} + clusterIP: None +{{- end }} + ports: + - name: oai-nr-dlsim-offset + # Port accessible outside cluster + port: {{ .Values.service.port }} + # Port to forward to inside the pod + targetPort: {{ .Values.service.Port }} + protocol: TCP + selector: + {{- include "oai-nr-dlsim-offset.selectorLabels" . | nindent 4 }} diff --git a/charts/physims/charts/nr-dlsim.offset/values.yaml b/charts/physims/charts/nr-dlsim.offset/values.yaml new file mode 100644 index 0000000000000000000000000000000000000000..40c1a94efe313472c5226b5d5d7f05adea41be0e --- /dev/null +++ b/charts/physims/charts/nr-dlsim.offset/values.yaml @@ -0,0 +1,60 @@ +# Default values for oai-nr-dlsim-offset +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +image: + # pullPolicy: IfNotPresent or Never or Always + pullPolicy: Always + +imagePullSecrets: [] + +nameOverride: "" +fullnameOverride: "" + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "oai-nr-dlsim-offset" + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +securityContext: + privileged: true + capabilities: + add: + - SYS_CAP_PTRACE + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + +service: + type: ClusterIP + port: 80 + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +nodeSelector: {} + +tolerations: [] + +affinity: {} diff --git a/charts/physims/charts/nr-pbchsim/Chart.yaml b/charts/physims/charts/nr-pbchsim.106rb/Chart.yaml similarity index 91% rename from charts/physims/charts/nr-pbchsim/Chart.yaml rename to charts/physims/charts/nr-pbchsim.106rb/Chart.yaml index 6d8359598d5f7ed1d155793817d8b7c408a9fa6a..ea93f8da58b7626dcdb255630496a433b28384f7 100644 --- a/charts/physims/charts/nr-pbchsim/Chart.yaml +++ b/charts/physims/charts/nr-pbchsim.106rb/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 -name: oai-nr-pbchsim -description: A Helm subchart for nr-pbchsim network function +name: oai-nr-pbchsim-106rb +description: A Helm subchart for nr-pbchsim network function ("106rb" tests) # A chart can be either an 'application' or a 'library' chart. # diff --git a/charts/physims/charts/nr-pbchsim/templates/NOTES.txt b/charts/physims/charts/nr-pbchsim.106rb/templates/NOTES.txt similarity index 73% rename from charts/physims/charts/nr-pbchsim/templates/NOTES.txt rename to charts/physims/charts/nr-pbchsim.106rb/templates/NOTES.txt index cee233d4f36c3380af3a4cb42af3b3b500243619..2e0d2ef62740fcaf1fc9abcfb19f9da7c3e6ba89 100644 --- a/charts/physims/charts/nr-pbchsim/templates/NOTES.txt +++ b/charts/physims/charts/nr-pbchsim.106rb/templates/NOTES.txt @@ -1,15 +1,15 @@ 1. Get the application URL by running these commands: {{- if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "oai-nr-pbchsim.fullname" . }}) + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "oai-nr-pbchsim-106rb.fullname" . }}) export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") echo http://$NODE_IP:$NODE_PORT {{- else if contains "LoadBalancer" .Values.service.type }} NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "oai-nr-pbchsim.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "oai-nr-pbchsim.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") + You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "oai-nr-pbchsim-106rb.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "oai-nr-pbchsim-106rb.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") echo http://$SERVICE_IP:{{ .Values.service.port }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "oai-nr-pbchsim.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "oai-nr-pbchsim-106rb.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:80 {{- end }} diff --git a/charts/physims/charts/nr-pbchsim.106rb/templates/_helpers.tpl b/charts/physims/charts/nr-pbchsim.106rb/templates/_helpers.tpl new file mode 100644 index 0000000000000000000000000000000000000000..1ea88a468172dad0513626ff0feaa5596c1e993c --- /dev/null +++ b/charts/physims/charts/nr-pbchsim.106rb/templates/_helpers.tpl @@ -0,0 +1,63 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "oai-nr-pbchsim-106rb.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "oai-nr-pbchsim-106rb.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "oai-nr-pbchsim-106rb.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Common labels +*/}} +{{- define "oai-nr-pbchsim-106rb.labels" -}} +helm.sh/chart: {{ include "oai-nr-pbchsim-106rb.chart" . }} +{{ include "oai-nr-pbchsim-106rb.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} + +{{/* +Selector labels +*/}} +{{- define "oai-nr-pbchsim-106rb.selectorLabels" -}} +app.kubernetes.io/name: {{ include "oai-nr-pbchsim-106rb.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end -}} + +{{/* +Create the name of the service account to use +*/}} +{{- define "oai-nr-pbchsim-106rb.serviceAccountName" -}} +{{- if .Values.serviceAccount.create -}} + {{ default (include "oai-nr-pbchsim-106rb.fullname" .) .Values.serviceAccount.name }} +{{- else -}} + {{ default "default" .Values.serviceAccount.name }} +{{- end -}} +{{- end -}} diff --git a/charts/physims/charts/nr-pbchsim.106rb/templates/deployment.yaml b/charts/physims/charts/nr-pbchsim.106rb/templates/deployment.yaml new file mode 100644 index 0000000000000000000000000000000000000000..ed0f8f157077a63ac117787496e258580d424b6e --- /dev/null +++ b/charts/physims/charts/nr-pbchsim.106rb/templates/deployment.yaml @@ -0,0 +1,45 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Chart.Name }} + labels: + {{- include "oai-nr-pbchsim-106rb.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + {{- include "oai-nr-pbchsim-106rb.selectorLabels" . | nindent 6 }} + strategy: + type: Recreate + template: + metadata: + labels: + {{- include "oai-nr-pbchsim-106rb.selectorLabels" . | nindent 8 }} + spec: + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + {{- if .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + containers: + - name: physim + image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + ports: + - containerPort: 80 + env: + - name: OPENAIR_DIR + value: /opt/oai-physim + command: ["/bin/sh", "-c"] + args: + - > + cmake_targets/autotests/run_exec_autotests.bash -g "nr_pbchsim.106rb" -d bin/ && + echo "FINISHED" && sleep infinity + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + serviceAccountName: {{ .Values.global.serviceAccountName }} + terminationGracePeriodSeconds: 30 diff --git a/charts/physims/charts/nr-pbchsim.106rb/templates/service.yaml b/charts/physims/charts/nr-pbchsim.106rb/templates/service.yaml new file mode 100644 index 0000000000000000000000000000000000000000..da626878270c88fb6330830f29a9af66fbb4cb42 --- /dev/null +++ b/charts/physims/charts/nr-pbchsim.106rb/templates/service.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Chart.Name }} + labels: + {{- include "oai-nr-pbchsim-106rb.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} +{{- if contains "ClusterIP" .Values.service.type }} + clusterIP: None +{{- end }} + ports: + - name: oai-nr-pbchsim-106rb + # Port accessible outside cluster + port: {{ .Values.service.port }} + # Port to forward to inside the pod + targetPort: {{ .Values.service.Port }} + protocol: TCP + selector: + {{- include "oai-nr-pbchsim-106rb.selectorLabels" . | nindent 4 }} diff --git a/charts/physims/charts/nr-pbchsim.106rb/values.yaml b/charts/physims/charts/nr-pbchsim.106rb/values.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5632762245e5a2060dcf29598787f50a5c361c60 --- /dev/null +++ b/charts/physims/charts/nr-pbchsim.106rb/values.yaml @@ -0,0 +1,60 @@ +# Default values for oai-nr-pbchsim-106rb +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +image: + # pullPolicy: IfNotPresent or Never or Always + pullPolicy: Always + +imagePullSecrets: [] + +nameOverride: "" +fullnameOverride: "" + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "oai-nr-pbchsim-106rb" + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +securityContext: + privileged: true + capabilities: + add: + - SYS_CAP_PTRACE + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + +service: + type: ClusterIP + port: 80 + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +nodeSelector: {} + +tolerations: [] + +affinity: {} diff --git a/charts/physims/charts/nr-pbchsim.217rb/Chart.yaml b/charts/physims/charts/nr-pbchsim.217rb/Chart.yaml new file mode 100644 index 0000000000000000000000000000000000000000..74561a42e93baa41c301090bdba913576e4bacf3 --- /dev/null +++ b/charts/physims/charts/nr-pbchsim.217rb/Chart.yaml @@ -0,0 +1,36 @@ +apiVersion: v1 +name: oai-nr-pbchsim-217rb +description: A Helm subchart for nr-pbchsim network function ("217rb" tests) + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +version: 0.1.1 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. +appVersion: v1 + +keywords: + - Physical Simulator + - nr-pbchsim + - RAN + - 5G + +sources: + - https://gitlab.eurecom.fr/oai/openairinterface5g + +maintainers: + - name: OPENAIRINTERFACE + email: contact@openairinterface.org diff --git a/charts/physims/charts/nr-pbchsim.217rb/templates/NOTES.txt b/charts/physims/charts/nr-pbchsim.217rb/templates/NOTES.txt new file mode 100644 index 0000000000000000000000000000000000000000..3e9e91db9b06ec7692ee143d7e3e30055eb95520 --- /dev/null +++ b/charts/physims/charts/nr-pbchsim.217rb/templates/NOTES.txt @@ -0,0 +1,15 @@ +1. Get the application URL by running these commands: +{{- if contains "NodePort" .Values.service.type }} + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "oai-nr-pbchsim-217rb.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.service.type }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "oai-nr-pbchsim-217rb.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "oai-nr-pbchsim-217rb.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") + echo http://$SERVICE_IP:{{ .Values.service.port }} +{{- else if contains "ClusterIP" .Values.service.type }} + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "oai-nr-pbchsim-217rb.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + echo "Visit http://127.0.0.1:8080 to use your application" + kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:80 +{{- end }} diff --git a/charts/physims/charts/nr-pbchsim.217rb/templates/_helpers.tpl b/charts/physims/charts/nr-pbchsim.217rb/templates/_helpers.tpl new file mode 100644 index 0000000000000000000000000000000000000000..28bb7fa4a0506f222a0e9b6d04d4c159da85345f --- /dev/null +++ b/charts/physims/charts/nr-pbchsim.217rb/templates/_helpers.tpl @@ -0,0 +1,63 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "oai-nr-pbchsim-217rb.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "oai-nr-pbchsim-217rb.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "oai-nr-pbchsim-217rb.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Common labels +*/}} +{{- define "oai-nr-pbchsim-217rb.labels" -}} +helm.sh/chart: {{ include "oai-nr-pbchsim-217rb.chart" . }} +{{ include "oai-nr-pbchsim-217rb.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} + +{{/* +Selector labels +*/}} +{{- define "oai-nr-pbchsim-217rb.selectorLabels" -}} +app.kubernetes.io/name: {{ include "oai-nr-pbchsim-217rb.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end -}} + +{{/* +Create the name of the service account to use +*/}} +{{- define "oai-nr-pbchsim-217rb.serviceAccountName" -}} +{{- if .Values.serviceAccount.create -}} + {{ default (include "oai-nr-pbchsim-217rb.fullname" .) .Values.serviceAccount.name }} +{{- else -}} + {{ default "default" .Values.serviceAccount.name }} +{{- end -}} +{{- end -}} diff --git a/charts/physims/charts/nr-pbchsim.217rb/templates/deployment.yaml b/charts/physims/charts/nr-pbchsim.217rb/templates/deployment.yaml new file mode 100644 index 0000000000000000000000000000000000000000..513443deaa3fdb08ee71e1ed84c1c1f567fdef8f --- /dev/null +++ b/charts/physims/charts/nr-pbchsim.217rb/templates/deployment.yaml @@ -0,0 +1,45 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Chart.Name }} + labels: + {{- include "oai-nr-pbchsim-217rb.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + {{- include "oai-nr-pbchsim-217rb.selectorLabels" . | nindent 6 }} + strategy: + type: Recreate + template: + metadata: + labels: + {{- include "oai-nr-pbchsim-217rb.selectorLabels" . | nindent 8 }} + spec: + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + {{- if .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + containers: + - name: physim + image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + ports: + - containerPort: 80 + env: + - name: OPENAIR_DIR + value: /opt/oai-physim + command: ["/bin/sh", "-c"] + args: + - > + cmake_targets/autotests/run_exec_autotests.bash -g "nr_pbchsim.217rb" -d bin/ && + echo "FINISHED" && sleep infinity + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + serviceAccountName: {{ .Values.global.serviceAccountName }} + terminationGracePeriodSeconds: 30 diff --git a/charts/physims/charts/nr-pbchsim.217rb/templates/service.yaml b/charts/physims/charts/nr-pbchsim.217rb/templates/service.yaml new file mode 100644 index 0000000000000000000000000000000000000000..696c889d15f77842b7e45187a5feb6f95d0eb2ed --- /dev/null +++ b/charts/physims/charts/nr-pbchsim.217rb/templates/service.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Chart.Name }} + labels: + {{- include "oai-nr-pbchsim-217rb.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} +{{- if contains "ClusterIP" .Values.service.type }} + clusterIP: None +{{- end }} + ports: + - name: oai-nr-pbchsim-217rb + # Port accessible outside cluster + port: {{ .Values.service.port }} + # Port to forward to inside the pod + targetPort: {{ .Values.service.Port }} + protocol: TCP + selector: + {{- include "oai-nr-pbchsim-217rb.selectorLabels" . | nindent 4 }} diff --git a/charts/physims/charts/nr-pbchsim.217rb/values.yaml b/charts/physims/charts/nr-pbchsim.217rb/values.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7b44b982de50b89b47ec0cdeadd241594a54ec62 --- /dev/null +++ b/charts/physims/charts/nr-pbchsim.217rb/values.yaml @@ -0,0 +1,60 @@ +# Default values for oai-nr-pbchsim-217rb +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +image: + # pullPolicy: IfNotPresent or Never or Always + pullPolicy: Always + +imagePullSecrets: [] + +nameOverride: "" +fullnameOverride: "" + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "oai-nr-pbchsim-217rb" + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +securityContext: + privileged: true + capabilities: + add: + - SYS_CAP_PTRACE + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + +service: + type: ClusterIP + port: 80 + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +nodeSelector: {} + +tolerations: [] + +affinity: {} diff --git a/charts/physims/charts/nr-pbchsim.273rb/Chart.yaml b/charts/physims/charts/nr-pbchsim.273rb/Chart.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6fab0faad8d539fa14839a9b56feace0bbf2fdf4 --- /dev/null +++ b/charts/physims/charts/nr-pbchsim.273rb/Chart.yaml @@ -0,0 +1,36 @@ +apiVersion: v1 +name: oai-nr-pbchsim-273rb +description: A Helm subchart for nr-pbchsim network function ("273rb" tests) + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +version: 0.1.1 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. +appVersion: v1 + +keywords: + - Physical Simulator + - nr-pbchsim + - RAN + - 5G + +sources: + - https://gitlab.eurecom.fr/oai/openairinterface5g + +maintainers: + - name: OPENAIRINTERFACE + email: contact@openairinterface.org diff --git a/charts/physims/charts/nr-pbchsim.273rb/templates/NOTES.txt b/charts/physims/charts/nr-pbchsim.273rb/templates/NOTES.txt new file mode 100644 index 0000000000000000000000000000000000000000..999186deb2e311162c5cf9710f447ac140c8c6fb --- /dev/null +++ b/charts/physims/charts/nr-pbchsim.273rb/templates/NOTES.txt @@ -0,0 +1,15 @@ +1. Get the application URL by running these commands: +{{- if contains "NodePort" .Values.service.type }} + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "oai-nr-pbchsim-273rb.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.service.type }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "oai-nr-pbchsim-273rb.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "oai-nr-pbchsim-273rb.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") + echo http://$SERVICE_IP:{{ .Values.service.port }} +{{- else if contains "ClusterIP" .Values.service.type }} + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "oai-nr-pbchsim-273rb.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + echo "Visit http://127.0.0.1:8080 to use your application" + kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:80 +{{- end }} diff --git a/charts/physims/charts/nr-pbchsim.273rb/templates/_helpers.tpl b/charts/physims/charts/nr-pbchsim.273rb/templates/_helpers.tpl new file mode 100644 index 0000000000000000000000000000000000000000..2682e2f6991f6ed36d6de4836cbb0c1b45dfed17 --- /dev/null +++ b/charts/physims/charts/nr-pbchsim.273rb/templates/_helpers.tpl @@ -0,0 +1,63 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "oai-nr-pbchsim-273rb.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "oai-nr-pbchsim-273rb.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "oai-nr-pbchsim-273rb.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Common labels +*/}} +{{- define "oai-nr-pbchsim-273rb.labels" -}} +helm.sh/chart: {{ include "oai-nr-pbchsim-273rb.chart" . }} +{{ include "oai-nr-pbchsim-273rb.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} + +{{/* +Selector labels +*/}} +{{- define "oai-nr-pbchsim-273rb.selectorLabels" -}} +app.kubernetes.io/name: {{ include "oai-nr-pbchsim-273rb.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end -}} + +{{/* +Create the name of the service account to use +*/}} +{{- define "oai-nr-pbchsim-273rb.serviceAccountName" -}} +{{- if .Values.serviceAccount.create -}} + {{ default (include "oai-nr-pbchsim-273rb.fullname" .) .Values.serviceAccount.name }} +{{- else -}} + {{ default "default" .Values.serviceAccount.name }} +{{- end -}} +{{- end -}} diff --git a/charts/physims/charts/nr-pbchsim.273rb/templates/deployment.yaml b/charts/physims/charts/nr-pbchsim.273rb/templates/deployment.yaml new file mode 100644 index 0000000000000000000000000000000000000000..512e212c07335a30ce5ba743f265bc89abad6255 --- /dev/null +++ b/charts/physims/charts/nr-pbchsim.273rb/templates/deployment.yaml @@ -0,0 +1,45 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Chart.Name }} + labels: + {{- include "oai-nr-pbchsim-273rb.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + {{- include "oai-nr-pbchsim-273rb.selectorLabels" . | nindent 6 }} + strategy: + type: Recreate + template: + metadata: + labels: + {{- include "oai-nr-pbchsim-273rb.selectorLabels" . | nindent 8 }} + spec: + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + {{- if .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + containers: + - name: physim + image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + ports: + - containerPort: 80 + env: + - name: OPENAIR_DIR + value: /opt/oai-physim + command: ["/bin/sh", "-c"] + args: + - > + cmake_targets/autotests/run_exec_autotests.bash -g "nr_pbchsim.273rb" -d bin/ && + echo "FINISHED" && sleep infinity + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + serviceAccountName: {{ .Values.global.serviceAccountName }} + terminationGracePeriodSeconds: 30 diff --git a/charts/physims/charts/nr-pbchsim.273rb/templates/service.yaml b/charts/physims/charts/nr-pbchsim.273rb/templates/service.yaml new file mode 100644 index 0000000000000000000000000000000000000000..4106d1a12fe9e08ef59897094f3f4d23e7871766 --- /dev/null +++ b/charts/physims/charts/nr-pbchsim.273rb/templates/service.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Chart.Name }} + labels: + {{- include "oai-nr-pbchsim-273rb.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} +{{- if contains "ClusterIP" .Values.service.type }} + clusterIP: None +{{- end }} + ports: + - name: oai-nr-pbchsim-273rb + # Port accessible outside cluster + port: {{ .Values.service.port }} + # Port to forward to inside the pod + targetPort: {{ .Values.service.Port }} + protocol: TCP + selector: + {{- include "oai-nr-pbchsim-273rb.selectorLabels" . | nindent 4 }} diff --git a/charts/physims/charts/nr-pbchsim.273rb/values.yaml b/charts/physims/charts/nr-pbchsim.273rb/values.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9cb5f6ebb5f8e29ceb5784667c6c057e86f91bba --- /dev/null +++ b/charts/physims/charts/nr-pbchsim.273rb/values.yaml @@ -0,0 +1,60 @@ +# Default values for oai-nr-pbchsim-273rb +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +image: + # pullPolicy: IfNotPresent or Never or Always + pullPolicy: Always + +imagePullSecrets: [] + +nameOverride: "" +fullnameOverride: "" + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "oai-nr-pbchsim-273rb" + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +securityContext: + privileged: true + capabilities: + add: + - SYS_CAP_PTRACE + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + +service: + type: ClusterIP + port: 80 + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +nodeSelector: {} + +tolerations: [] + +affinity: {} diff --git a/charts/physims/charts/nr-prachsim/templates/deployment.yaml b/charts/physims/charts/nr-prachsim/templates/deployment.yaml index 52bc030c4591ba8ed74d424021cd91406087c5de..6bea044b86c9ee5647ec49126b7248e8aa5ec1f2 100644 --- a/charts/physims/charts/nr-prachsim/templates/deployment.yaml +++ b/charts/physims/charts/nr-prachsim/templates/deployment.yaml @@ -30,18 +30,14 @@ spec: {{- toYaml .Values.securityContext | nindent 12 }} ports: - containerPort: 80 - name: oai-nr-prachsim - # volumeMounts: - # - mountPath: /opt/oai-nr-prachsim/certs - # name: certs + env: + - name: OPENAIR_DIR + value: /opt/oai-physim command: ["/bin/sh", "-c"] args: - > - export OPENAIR_DIR=/opt/oai-physim && - cd cmake_targets/autotests && - ./run_exec_autotests.bash -g "015112" -q -np -b && - echo "FINISHED" && - sleep infinity + cmake_targets/autotests/run_exec_autotests.bash -g "nr_prachsim" -d bin/ && + echo "FINISHED" && sleep infinity dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler diff --git a/charts/physims/charts/nr-prachsim/values.yaml b/charts/physims/charts/nr-prachsim/values.yaml index dba6cc16c079ce9f65922e11a2082aa8ffec8baa..93789de637ec7cc48fa676447a3e25e953361c62 100644 --- a/charts/physims/charts/nr-prachsim/values.yaml +++ b/charts/physims/charts/nr-prachsim/values.yaml @@ -4,12 +4,7 @@ replicaCount: 1 -namespace: "OAICICD_PROJECT" - image: - registry: local - repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim - version: temp # pullPolicy: IfNotPresent or Never or Always pullPolicy: Always diff --git a/charts/physims/charts/nr-pucchsim/templates/deployment.yaml b/charts/physims/charts/nr-pucchsim/templates/deployment.yaml index d783991e0b4a3f572b82ca2665c8443cd4465dde..fce72ebc3520dc33c4c40f56676d02ee6b70d178 100644 --- a/charts/physims/charts/nr-pucchsim/templates/deployment.yaml +++ b/charts/physims/charts/nr-pucchsim/templates/deployment.yaml @@ -30,18 +30,14 @@ spec: {{- toYaml .Values.securityContext | nindent 12 }} ports: - containerPort: 80 - name: oai-nr-pucchsim - # volumeMounts: - # - mountPath: /opt/oai-nr-pucchsim/certs - # name: certs + env: + - name: OPENAIR_DIR + value: /opt/oai-physim command: ["/bin/sh", "-c"] args: - > - export OPENAIR_DIR=/opt/oai-physim && - cd cmake_targets/autotests && - ./run_exec_autotests.bash -g "015109" -q -np -b && - echo "FINISHED" && - sleep infinity + cmake_targets/autotests/run_exec_autotests.bash -g "nr_pucchsim" -d bin/ && + echo "FINISHED" && sleep infinity dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler diff --git a/charts/physims/charts/nr-pucchsim/values.yaml b/charts/physims/charts/nr-pucchsim/values.yaml index 77fe0963ac2dc5d939a042aceee96c46703f3232..d4c869278b847af407a2c81aa8b202f9699547a3 100644 --- a/charts/physims/charts/nr-pucchsim/values.yaml +++ b/charts/physims/charts/nr-pucchsim/values.yaml @@ -4,12 +4,7 @@ replicaCount: 1 -namespace: "OAICICD_PROJECT" - image: - registry: local - repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim - version: temp # pullPolicy: IfNotPresent or Never or Always pullPolicy: Always diff --git a/charts/physims/charts/nr-ulschsim/templates/deployment.yaml b/charts/physims/charts/nr-ulschsim/templates/deployment.yaml index 56fb0de5b878954ca95179d0c49a60d10a0af102..d44b2b64635e456ebad9ba73decf18631d0c1624 100644 --- a/charts/physims/charts/nr-ulschsim/templates/deployment.yaml +++ b/charts/physims/charts/nr-ulschsim/templates/deployment.yaml @@ -30,18 +30,14 @@ spec: {{- toYaml .Values.securityContext | nindent 12 }} ports: - containerPort: 80 - name: oai-nr-ulschsim - # volumeMounts: - # - mountPath: /opt/oai-nr-ulschsim/certs - # name: certs + env: + - name: OPENAIR_DIR + value: /opt/oai-physim command: ["/bin/sh", "-c"] args: - > - export OPENAIR_DIR=/opt/oai-physim && - cd cmake_targets/autotests && - ./run_exec_autotests.bash -g "015108" -q -np -b && - echo "FINISHED" && - sleep infinity + cmake_targets/autotests/run_exec_autotests.bash -g "nr_ulschsim" -d bin/ && + echo "FINISHED" && sleep infinity dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler diff --git a/charts/physims/charts/nr-ulschsim/values.yaml b/charts/physims/charts/nr-ulschsim/values.yaml index efb011a7f6530d59c4713c2c51c3a8c776318e98..b0529c818d9b060affd83c44e8c30c299c464280 100644 --- a/charts/physims/charts/nr-ulschsim/values.yaml +++ b/charts/physims/charts/nr-ulschsim/values.yaml @@ -4,12 +4,7 @@ replicaCount: 1 -namespace: "OAICICD_PROJECT" - image: - registry: local - repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim - version: temp # pullPolicy: IfNotPresent or Never or Always pullPolicy: Always diff --git a/charts/physims/charts/nr-ulsim/Chart.yaml b/charts/physims/charts/nr-ulsim.3gpp/Chart.yaml similarity index 92% rename from charts/physims/charts/nr-ulsim/Chart.yaml rename to charts/physims/charts/nr-ulsim.3gpp/Chart.yaml index ede87ea7e487e3e1ccbec9e04fb77e1d168143bc..e2de26c5e88b350063861d1f4d60ab4145139b19 100644 --- a/charts/physims/charts/nr-ulsim/Chart.yaml +++ b/charts/physims/charts/nr-ulsim.3gpp/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v1 -name: oai-nr-ulsim -description: A Helm subchart for nr-ulsim network function +name: oai-nr-ulsim-3gpp +description: A Helm subchart for nr-ulsim network function ("3gpp" tests) # A chart can be either an 'application' or a 'library' chart. # diff --git a/charts/physims/charts/nr-ulsim/templates/NOTES.txt b/charts/physims/charts/nr-ulsim.3gpp/templates/NOTES.txt similarity index 73% rename from charts/physims/charts/nr-ulsim/templates/NOTES.txt rename to charts/physims/charts/nr-ulsim.3gpp/templates/NOTES.txt index 6865eeaedf096ad070079aec1d024a9bf2358145..aea103922eda1a1859d3092bd36e6e3756b59213 100644 --- a/charts/physims/charts/nr-ulsim/templates/NOTES.txt +++ b/charts/physims/charts/nr-ulsim.3gpp/templates/NOTES.txt @@ -1,15 +1,15 @@ 1. Get the application URL by running these commands: {{- if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "oai-nr-ulsim.fullname" . }}) + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "oai-nr-ulsim-3gpp.fullname" . }}) export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") echo http://$NODE_IP:$NODE_PORT {{- else if contains "LoadBalancer" .Values.service.type }} NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "oai-nr-ulsim.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "oai-nr-ulsim.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") + You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "oai-nr-ulsim-3gpp.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "oai-nr-ulsim-3gpp.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") echo http://$SERVICE_IP:{{ .Values.service.port }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "oai-nr-ulsim.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "oai-nr-ulsim-3gpp.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:80 {{- end }} diff --git a/charts/physims/charts/nr-ulsim/templates/_helpers.tpl b/charts/physims/charts/nr-ulsim.3gpp/templates/_helpers.tpl similarity index 77% rename from charts/physims/charts/nr-ulsim/templates/_helpers.tpl rename to charts/physims/charts/nr-ulsim.3gpp/templates/_helpers.tpl index 90f0bd0e363db238d832517cc87b56011ddb3986..4655516f35e7dcbefb91f4a46224e751fcdc54f1 100644 --- a/charts/physims/charts/nr-ulsim/templates/_helpers.tpl +++ b/charts/physims/charts/nr-ulsim.3gpp/templates/_helpers.tpl @@ -2,7 +2,7 @@ {{/* Expand the name of the chart. */}} -{{- define "oai-nr-ulsim.name" -}} +{{- define "oai-nr-ulsim-3gpp.name" -}} {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} {{- end -}} @@ -11,7 +11,7 @@ Create a default fully qualified app name. We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). If release name contains chart name it will be used as a full name. */}} -{{- define "oai-nr-ulsim.fullname" -}} +{{- define "oai-nr-ulsim-3gpp.fullname" -}} {{- if .Values.fullnameOverride -}} {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} {{- else -}} @@ -27,16 +27,16 @@ If release name contains chart name it will be used as a full name. {{/* Create chart name and version as used by the chart label. */}} -{{- define "oai-nr-ulsim.chart" -}} +{{- define "oai-nr-ulsim-3gpp.chart" -}} {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} {{- end -}} {{/* Common labels */}} -{{- define "oai-nr-ulsim.labels" -}} -helm.sh/chart: {{ include "oai-nr-ulsim.chart" . }} -{{ include "oai-nr-ulsim.selectorLabels" . }} +{{- define "oai-nr-ulsim-3gpp.labels" -}} +helm.sh/chart: {{ include "oai-nr-ulsim-3gpp.chart" . }} +{{ include "oai-nr-ulsim-3gpp.selectorLabels" . }} {{- if .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} {{- end }} @@ -46,15 +46,15 @@ app.kubernetes.io/managed-by: {{ .Release.Service }} {{/* Selector labels */}} -{{- define "oai-nr-ulsim.selectorLabels" -}} -app.kubernetes.io/name: {{ include "oai-nr-ulsim.name" . }} +{{- define "oai-nr-ulsim-3gpp.selectorLabels" -}} +app.kubernetes.io/name: {{ include "oai-nr-ulsim-3gpp.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- end -}} {{/* Create the name of the service account to use */}} -{{- define "oai-nr-ulsim.serviceAccountName" -}} +{{- define "oai-nr-ulsim-3gpp.serviceAccountName" -}} {{- if .Values.serviceAccount.create -}} {{ default (include "oai-nr-ulsim.fullname" .) .Values.serviceAccount.name }} {{- else -}} diff --git a/charts/physims/charts/nr-ulsim.3gpp/templates/deployment.yaml b/charts/physims/charts/nr-ulsim.3gpp/templates/deployment.yaml new file mode 100644 index 0000000000000000000000000000000000000000..7bf59eed4f917db9af881b491431ead866b179a8 --- /dev/null +++ b/charts/physims/charts/nr-ulsim.3gpp/templates/deployment.yaml @@ -0,0 +1,45 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Chart.Name }} + labels: + {{- include "oai-nr-ulsim-3gpp.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + {{- include "oai-nr-ulsim-3gpp.selectorLabels" . | nindent 6 }} + strategy: + type: Recreate + template: + metadata: + labels: + {{- include "oai-nr-ulsim-3gpp.selectorLabels" . | nindent 8 }} + spec: + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + {{- if .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + containers: + - name: physim + image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + ports: + - containerPort: 80 + env: + - name: OPENAIR_DIR + value: /opt/oai-physim + command: ["/bin/sh", "-c"] + args: + - > + cmake_targets/autotests/run_exec_autotests.bash -g "nr_ulsim.3gpp" -d bin/ && + echo "FINISHED" && sleep infinity + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + serviceAccountName: {{ .Values.global.serviceAccountName }} + terminationGracePeriodSeconds: 30 diff --git a/charts/physims/charts/nr-dlsim/templates/service.yaml b/charts/physims/charts/nr-ulsim.3gpp/templates/service.yaml similarity index 71% rename from charts/physims/charts/nr-dlsim/templates/service.yaml rename to charts/physims/charts/nr-ulsim.3gpp/templates/service.yaml index c58433f3b26f6a0a0b3c35620de392426c07381e..fc5ce516ad1c4bd3e1abb4166b30baf50510d555 100644 --- a/charts/physims/charts/nr-dlsim/templates/service.yaml +++ b/charts/physims/charts/nr-ulsim.3gpp/templates/service.yaml @@ -3,18 +3,18 @@ kind: Service metadata: name: {{ .Chart.Name }} labels: - {{- include "oai-nr-dlsim.labels" . | nindent 4 }} + {{- include "oai-nr-ulsim-3gpp.labels" . | nindent 4 }} spec: type: {{ .Values.service.type }} {{- if contains "ClusterIP" .Values.service.type }} clusterIP: None {{- end }} ports: - - name: oai-nr-dlsim + - name: oai-nr-ulsim-3gpp # Port accessible outside cluster port: {{ .Values.service.port }} # Port to forward to inside the pod targetPort: {{ .Values.service.Port }} protocol: TCP selector: - {{- include "oai-nr-dlsim.selectorLabels" . | nindent 4 }} + {{- include "oai-nr-ulsim-3gpp.selectorLabels" . | nindent 4 }} diff --git a/charts/physims/charts/nr-ulsim.3gpp/values.yaml b/charts/physims/charts/nr-ulsim.3gpp/values.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3d44bda9b85aeb87d8933a22d65269b9f33cba80 --- /dev/null +++ b/charts/physims/charts/nr-ulsim.3gpp/values.yaml @@ -0,0 +1,60 @@ +# Default values for oai-nr-ulsim-3gpp +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +image: + # pullPolicy: IfNotPresent or Never or Always + pullPolicy: Always + +imagePullSecrets: [] + +nameOverride: "" +fullnameOverride: "" + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "oai-nr-ulsim-3gpp" + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +securityContext: + privileged: true + capabilities: + add: + - SYS_CAP_PTRACE + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + +service: + type: ClusterIP + port: 80 + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +nodeSelector: {} + +tolerations: [] + +affinity: {} diff --git a/charts/physims/charts/nr-ulsim.mimo/Chart.yaml b/charts/physims/charts/nr-ulsim.mimo/Chart.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b4a691f14ae47ee498ff0deac765456a13567d74 --- /dev/null +++ b/charts/physims/charts/nr-ulsim.mimo/Chart.yaml @@ -0,0 +1,36 @@ +apiVersion: v1 +name: oai-nr-ulsim-mimo +description: A Helm subchart for nr-ulsim network function ("mimo" tests) + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +version: 0.1.1 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. +appVersion: v1 + +keywords: + - Physical Simulator + - nr-ulsim + - RAN + - 5G + +sources: + - https://gitlab.eurecom.fr/oai/openairinterface5g + +maintainers: + - name: OPENAIRINTERFACE + email: contact@openairinterface.org diff --git a/charts/physims/charts/nr-ulsim.mimo/templates/NOTES.txt b/charts/physims/charts/nr-ulsim.mimo/templates/NOTES.txt new file mode 100644 index 0000000000000000000000000000000000000000..46436c61f0d30107ea9bdfbc2b3bd33f18aee8dd --- /dev/null +++ b/charts/physims/charts/nr-ulsim.mimo/templates/NOTES.txt @@ -0,0 +1,15 @@ +1. Get the application URL by running these commands: +{{- if contains "NodePort" .Values.service.type }} + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "oai-nr-ulsim-mimo.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.service.type }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "oai-nr-ulsim-mimo.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "oai-nr-ulsim-mimo.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") + echo http://$SERVICE_IP:{{ .Values.service.port }} +{{- else if contains "ClusterIP" .Values.service.type }} + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "oai-nr-ulsim-mimo.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + echo "Visit http://127.0.0.1:8080 to use your application" + kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:80 +{{- end }} diff --git a/charts/physims/charts/nr-dlsim/templates/_helpers.tpl b/charts/physims/charts/nr-ulsim.mimo/templates/_helpers.tpl similarity index 73% rename from charts/physims/charts/nr-dlsim/templates/_helpers.tpl rename to charts/physims/charts/nr-ulsim.mimo/templates/_helpers.tpl index 1dd7fbd3fd5a7addca9d7969c9589a1b9d7e6302..ead3e5ca41b5095da99cf16c93a2641160ec298a 100644 --- a/charts/physims/charts/nr-dlsim/templates/_helpers.tpl +++ b/charts/physims/charts/nr-ulsim.mimo/templates/_helpers.tpl @@ -2,7 +2,7 @@ {{/* Expand the name of the chart. */}} -{{- define "oai-nr-dlsim.name" -}} +{{- define "oai-nr-ulsim-mimo.name" -}} {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} {{- end -}} @@ -11,7 +11,7 @@ Create a default fully qualified app name. We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). If release name contains chart name it will be used as a full name. */}} -{{- define "oai-nr-dlsim.fullname" -}} +{{- define "oai-nr-ulsim-mimo.fullname" -}} {{- if .Values.fullnameOverride -}} {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} {{- else -}} @@ -27,16 +27,16 @@ If release name contains chart name it will be used as a full name. {{/* Create chart name and version as used by the chart label. */}} -{{- define "oai-nr-dlsim.chart" -}} +{{- define "oai-nr-ulsim-mimo.chart" -}} {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} {{- end -}} {{/* Common labels */}} -{{- define "oai-nr-dlsim.labels" -}} -helm.sh/chart: {{ include "oai-nr-dlsim.chart" . }} -{{ include "oai-nr-dlsim.selectorLabels" . }} +{{- define "oai-nr-ulsim-mimo.labels" -}} +helm.sh/chart: {{ include "oai-nr-ulsim-mimo.chart" . }} +{{ include "oai-nr-ulsim-mimo.selectorLabels" . }} {{- if .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} {{- end }} @@ -46,17 +46,17 @@ app.kubernetes.io/managed-by: {{ .Release.Service }} {{/* Selector labels */}} -{{- define "oai-nr-dlsim.selectorLabels" -}} -app.kubernetes.io/name: {{ include "oai-nr-dlsim.name" . }} +{{- define "oai-nr-ulsim-mimo.selectorLabels" -}} +app.kubernetes.io/name: {{ include "oai-nr-ulsim-mimo.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- end -}} {{/* Create the name of the service account to use */}} -{{- define "oai-nr-dlsim.serviceAccountName" -}} +{{- define "oai-nr-ulsim-mimo.serviceAccountName" -}} {{- if .Values.serviceAccount.create -}} - {{ default (include "oai-nr-dlsim.fullname" .) .Values.serviceAccount.name }} + {{ default (include "oai-nr-ulsim.fullname" .) .Values.serviceAccount.name }} {{- else -}} {{ default "default" .Values.serviceAccount.name }} {{- end -}} diff --git a/charts/physims/charts/nr-ulsim.mimo/templates/deployment.yaml b/charts/physims/charts/nr-ulsim.mimo/templates/deployment.yaml new file mode 100644 index 0000000000000000000000000000000000000000..e8d6ecf7ce353a99639535a16a528ad4223ea800 --- /dev/null +++ b/charts/physims/charts/nr-ulsim.mimo/templates/deployment.yaml @@ -0,0 +1,45 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Chart.Name }} + labels: + {{- include "oai-nr-ulsim-mimo.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + {{- include "oai-nr-ulsim-mimo.selectorLabels" . | nindent 6 }} + strategy: + type: Recreate + template: + metadata: + labels: + {{- include "oai-nr-ulsim-mimo.selectorLabels" . | nindent 8 }} + spec: + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + {{- if .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + containers: + - name: physim + image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + ports: + - containerPort: 80 + env: + - name: OPENAIR_DIR + value: /opt/oai-physim + command: ["/bin/sh", "-c"] + args: + - > + cmake_targets/autotests/run_exec_autotests.bash -g "nr_ulsim.mimo" -d bin/ && + echo "FINISHED" && sleep infinity + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + serviceAccountName: {{ .Values.global.serviceAccountName }} + terminationGracePeriodSeconds: 30 diff --git a/charts/physims/charts/nr-pbchsim/templates/service.yaml b/charts/physims/charts/nr-ulsim.mimo/templates/service.yaml similarity index 71% rename from charts/physims/charts/nr-pbchsim/templates/service.yaml rename to charts/physims/charts/nr-ulsim.mimo/templates/service.yaml index 35faf3c33dae49955f814387c99a9c31c46871d2..6a2465cbbe7031ca425551cb8d358bb6809b77bf 100644 --- a/charts/physims/charts/nr-pbchsim/templates/service.yaml +++ b/charts/physims/charts/nr-ulsim.mimo/templates/service.yaml @@ -3,18 +3,18 @@ kind: Service metadata: name: {{ .Chart.Name }} labels: - {{- include "oai-nr-pbchsim.labels" . | nindent 4 }} + {{- include "oai-nr-ulsim-mimo.labels" . | nindent 4 }} spec: type: {{ .Values.service.type }} {{- if contains "ClusterIP" .Values.service.type }} clusterIP: None {{- end }} ports: - - name: oai-nr-pbchsim + - name: oai-nr-ulsim-mimo # Port accessible outside cluster port: {{ .Values.service.port }} # Port to forward to inside the pod targetPort: {{ .Values.service.Port }} protocol: TCP selector: - {{- include "oai-nr-pbchsim.selectorLabels" . | nindent 4 }} + {{- include "oai-nr-ulsim-mimo.selectorLabels" . | nindent 4 }} diff --git a/charts/physims/charts/nr-ulsim.mimo/values.yaml b/charts/physims/charts/nr-ulsim.mimo/values.yaml new file mode 100644 index 0000000000000000000000000000000000000000..55bdcd615878c62656608129f7663cc7b76d5769 --- /dev/null +++ b/charts/physims/charts/nr-ulsim.mimo/values.yaml @@ -0,0 +1,60 @@ +# Default values for oai-nr-ulsim-mimo +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +image: + # pullPolicy: IfNotPresent or Never or Always + pullPolicy: Always + +imagePullSecrets: [] + +nameOverride: "" +fullnameOverride: "" + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "oai-nr-ulsim-mimo" + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +securityContext: + privileged: true + capabilities: + add: + - SYS_CAP_PTRACE + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + +service: + type: ClusterIP + port: 80 + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +nodeSelector: {} + +tolerations: [] + +affinity: {} diff --git a/charts/physims/charts/nr-ulsim.misc/Chart.yaml b/charts/physims/charts/nr-ulsim.misc/Chart.yaml new file mode 100644 index 0000000000000000000000000000000000000000..6770f26b76d0ede240abe15403f39c65d3a092b0 --- /dev/null +++ b/charts/physims/charts/nr-ulsim.misc/Chart.yaml @@ -0,0 +1,36 @@ +apiVersion: v1 +name: oai-nr-ulsim-misc +description: A Helm subchart for nr-ulsim network function ("misc" tests) + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +version: 0.1.1 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. +appVersion: v1 + +keywords: + - Physical Simulator + - nr-ulsim + - RAN + - 5G + +sources: + - https://gitlab.eurecom.fr/oai/openairinterface5g + +maintainers: + - name: OPENAIRINTERFACE + email: contact@openairinterface.org diff --git a/charts/physims/charts/nr-ulsim.misc/templates/NOTES.txt b/charts/physims/charts/nr-ulsim.misc/templates/NOTES.txt new file mode 100644 index 0000000000000000000000000000000000000000..8f882b73a3ae37344111761dc145219e6b8619c6 --- /dev/null +++ b/charts/physims/charts/nr-ulsim.misc/templates/NOTES.txt @@ -0,0 +1,15 @@ +1. Get the application URL by running these commands: +{{- if contains "NodePort" .Values.service.type }} + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "oai-nr-ulsim-misc.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.service.type }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "oai-nr-ulsim-misc.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "oai-nr-ulsim-misc.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") + echo http://$SERVICE_IP:{{ .Values.service.port }} +{{- else if contains "ClusterIP" .Values.service.type }} + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "oai-nr-ulsim-misc.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + echo "Visit http://127.0.0.1:8080 to use your application" + kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:80 +{{- end }} diff --git a/charts/physims/charts/dlsim/templates/_helpers.tpl b/charts/physims/charts/nr-ulsim.misc/templates/_helpers.tpl similarity index 72% rename from charts/physims/charts/dlsim/templates/_helpers.tpl rename to charts/physims/charts/nr-ulsim.misc/templates/_helpers.tpl index 7ae142b6719dca78536d59d81d459dcf8c353a1c..6b5906a8e799e4f0c4ff97142e6fbacf8d10dc57 100644 --- a/charts/physims/charts/dlsim/templates/_helpers.tpl +++ b/charts/physims/charts/nr-ulsim.misc/templates/_helpers.tpl @@ -2,7 +2,7 @@ {{/* Expand the name of the chart. */}} -{{- define "oai-dlsim.name" -}} +{{- define "oai-nr-ulsim-misc.name" -}} {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} {{- end -}} @@ -11,7 +11,7 @@ Create a default fully qualified app name. We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). If release name contains chart name it will be used as a full name. */}} -{{- define "oai-dlsim.fullname" -}} +{{- define "oai-nr-ulsim-misc.fullname" -}} {{- if .Values.fullnameOverride -}} {{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} {{- else -}} @@ -27,16 +27,16 @@ If release name contains chart name it will be used as a full name. {{/* Create chart name and version as used by the chart label. */}} -{{- define "oai-dlsim.chart" -}} +{{- define "oai-nr-ulsim-misc.chart" -}} {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} {{- end -}} {{/* Common labels */}} -{{- define "oai-dlsim.labels" -}} -helm.sh/chart: {{ include "oai-dlsim.chart" . }} -{{ include "oai-dlsim.selectorLabels" . }} +{{- define "oai-nr-ulsim-misc.labels" -}} +helm.sh/chart: {{ include "oai-nr-ulsim-misc.chart" . }} +{{ include "oai-nr-ulsim-misc.selectorLabels" . }} {{- if .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} {{- end }} @@ -46,17 +46,17 @@ app.kubernetes.io/managed-by: {{ .Release.Service }} {{/* Selector labels */}} -{{- define "oai-dlsim.selectorLabels" -}} -app.kubernetes.io/name: {{ include "oai-dlsim.name" . }} +{{- define "oai-nr-ulsim-misc.selectorLabels" -}} +app.kubernetes.io/name: {{ include "oai-nr-ulsim-misc.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- end -}} {{/* Create the name of the service account to use */}} -{{- define "oai-dlsim.serviceAccountName" -}} +{{- define "oai-nr-ulsim-misc.serviceAccountName" -}} {{- if .Values.serviceAccount.create -}} - {{ default (include "oai-dlsim.fullname" .) .Values.serviceAccount.name }} + {{ default (include "oai-nr-ulsim.fullname" .) .Values.serviceAccount.name }} {{- else -}} {{ default "default" .Values.serviceAccount.name }} {{- end -}} diff --git a/charts/physims/charts/nr-ulsim.misc/templates/deployment.yaml b/charts/physims/charts/nr-ulsim.misc/templates/deployment.yaml new file mode 100644 index 0000000000000000000000000000000000000000..56c25fbbc3666efeecc5cbac07764f7b6a36b014 --- /dev/null +++ b/charts/physims/charts/nr-ulsim.misc/templates/deployment.yaml @@ -0,0 +1,45 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Chart.Name }} + labels: + {{- include "oai-nr-ulsim-misc.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + {{- include "oai-nr-ulsim-misc.selectorLabels" . | nindent 6 }} + strategy: + type: Recreate + template: + metadata: + labels: + {{- include "oai-nr-ulsim-misc.selectorLabels" . | nindent 8 }} + spec: + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + {{- if .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + containers: + - name: physim + image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + ports: + - containerPort: 80 + env: + - name: OPENAIR_DIR + value: /opt/oai-physim + command: ["/bin/sh", "-c"] + args: + - > + cmake_targets/autotests/run_exec_autotests.bash -g "nr_ulsim.misc" -d bin/ && + echo "FINISHED" && sleep infinity + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + serviceAccountName: {{ .Values.global.serviceAccountName }} + terminationGracePeriodSeconds: 30 diff --git a/charts/physims/charts/nr-ulsim/templates/service.yaml b/charts/physims/charts/nr-ulsim.misc/templates/service.yaml similarity index 71% rename from charts/physims/charts/nr-ulsim/templates/service.yaml rename to charts/physims/charts/nr-ulsim.misc/templates/service.yaml index 95f198d1b123ca859866da0a76c050905e0202cd..d7e93fba720177bcc0c347c4757417c3b26369b0 100644 --- a/charts/physims/charts/nr-ulsim/templates/service.yaml +++ b/charts/physims/charts/nr-ulsim.misc/templates/service.yaml @@ -3,18 +3,18 @@ kind: Service metadata: name: {{ .Chart.Name }} labels: - {{- include "oai-nr-ulsim.labels" . | nindent 4 }} + {{- include "oai-nr-ulsim-misc.labels" . | nindent 4 }} spec: type: {{ .Values.service.type }} {{- if contains "ClusterIP" .Values.service.type }} clusterIP: None {{- end }} ports: - - name: oai-nr-ulsim + - name: oai-nr-ulsim-misc # Port accessible outside cluster port: {{ .Values.service.port }} # Port to forward to inside the pod targetPort: {{ .Values.service.Port }} protocol: TCP selector: - {{- include "oai-nr-ulsim.selectorLabels" . | nindent 4 }} + {{- include "oai-nr-ulsim-misc.selectorLabels" . | nindent 4 }} diff --git a/charts/physims/charts/nr-ulsim.misc/values.yaml b/charts/physims/charts/nr-ulsim.misc/values.yaml new file mode 100644 index 0000000000000000000000000000000000000000..dcae7a2b66cb4b4bf62e9f09041f5faf5c7e0f39 --- /dev/null +++ b/charts/physims/charts/nr-ulsim.misc/values.yaml @@ -0,0 +1,60 @@ +# Default values for oai-nr-ulsim-misc +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +image: + # pullPolicy: IfNotPresent or Never or Always + pullPolicy: Always + +imagePullSecrets: [] + +nameOverride: "" +fullnameOverride: "" + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "oai-nr-ulsim-misc" + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +securityContext: + privileged: true + capabilities: + add: + - SYS_CAP_PTRACE + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + +service: + type: ClusterIP + port: 80 + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +nodeSelector: {} + +tolerations: [] + +affinity: {} diff --git a/charts/physims/charts/nr-ulsim.sc-fdma/Chart.yaml b/charts/physims/charts/nr-ulsim.sc-fdma/Chart.yaml new file mode 100644 index 0000000000000000000000000000000000000000..c4460cd6a08a909a8938a35e993333490bac6001 --- /dev/null +++ b/charts/physims/charts/nr-ulsim.sc-fdma/Chart.yaml @@ -0,0 +1,36 @@ +apiVersion: v1 +name: oai-nr-ulsim-sc-fdma +description: A Helm subchart for nr-ulsim network function ("sc-fdma" tests) + +# A chart can be either an 'application' or a 'library' chart. +# +# Application charts are a collection of templates that can be packaged into versioned archives +# to be deployed. +# +# Library charts provide useful utilities or functions for the chart developer. They're included as +# a dependency of application charts to inject those utilities and functions into the rendering +# pipeline. Library charts do not define any templates and therefore cannot be deployed. +type: application + +icon: http://www.openairinterface.org/wp-content/uploads/2015/06/cropped-oai_final_logo.png + +# This is the chart version. This version number should be incremented each time you make changes +# to the chart and its templates, including the app version. +version: 0.1.1 + +# This is the version number of the application being deployed. This version number should be +# incremented each time you make changes to the application. +appVersion: v1 + +keywords: + - Physical Simulator + - nr-ulsim + - RAN + - 5G + +sources: + - https://gitlab.eurecom.fr/oai/openairinterface5g + +maintainers: + - name: OPENAIRINTERFACE + email: contact@openairinterface.org diff --git a/charts/physims/charts/nr-ulsim.sc-fdma/templates/NOTES.txt b/charts/physims/charts/nr-ulsim.sc-fdma/templates/NOTES.txt new file mode 100644 index 0000000000000000000000000000000000000000..1874b502a2dcce195c0102f612671f32c66bc795 --- /dev/null +++ b/charts/physims/charts/nr-ulsim.sc-fdma/templates/NOTES.txt @@ -0,0 +1,15 @@ +1. Get the application URL by running these commands: +{{- if contains "NodePort" .Values.service.type }} + export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "oai-nr-ulsim-sc-fdma.fullname" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + echo http://$NODE_IP:$NODE_PORT +{{- else if contains "LoadBalancer" .Values.service.type }} + NOTE: It may take a few minutes for the LoadBalancer IP to be available. + You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "oai-nr-ulsim-sc-fdma.fullname" . }}' + export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "oai-nr-ulsim-sc-fdma.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") + echo http://$SERVICE_IP:{{ .Values.service.port }} +{{- else if contains "ClusterIP" .Values.service.type }} + export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "oai-nr-ulsim-sc-fdma.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + echo "Visit http://127.0.0.1:8080 to use your application" + kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:80 +{{- end }} diff --git a/charts/physims/charts/nr-ulsim.sc-fdma/templates/_helpers.tpl b/charts/physims/charts/nr-ulsim.sc-fdma/templates/_helpers.tpl new file mode 100644 index 0000000000000000000000000000000000000000..b608389dc886f56531d160241f56e1281a9c9c3b --- /dev/null +++ b/charts/physims/charts/nr-ulsim.sc-fdma/templates/_helpers.tpl @@ -0,0 +1,63 @@ +{{/* vim: set filetype=mustache: */}} +{{/* +Expand the name of the chart. +*/}} +{{- define "oai-nr-ulsim-sc-fdma.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create a default fully qualified app name. +We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). +If release name contains chart name it will be used as a full name. +*/}} +{{- define "oai-nr-ulsim-sc-fdma.fullname" -}} +{{- if .Values.fullnameOverride -}} +{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{- if contains $name .Release.Name -}} +{{- .Release.Name | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "oai-nr-ulsim-sc-fdma.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Common labels +*/}} +{{- define "oai-nr-ulsim-sc-fdma.labels" -}} +helm.sh/chart: {{ include "oai-nr-ulsim-sc-fdma.chart" . }} +{{ include "oai-nr-ulsim-sc-fdma.selectorLabels" . }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- end -}} + +{{/* +Selector labels +*/}} +{{- define "oai-nr-ulsim-sc-fdma.selectorLabels" -}} +app.kubernetes.io/name: {{ include "oai-nr-ulsim-sc-fdma.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end -}} + +{{/* +Create the name of the service account to use +*/}} +{{- define "oai-nr-ulsim-sc-fdma.serviceAccountName" -}} +{{- if .Values.serviceAccount.create -}} + {{ default (include "oai-nr-ulsim.fullname" .) .Values.serviceAccount.name }} +{{- else -}} + {{ default "default" .Values.serviceAccount.name }} +{{- end -}} +{{- end -}} diff --git a/charts/physims/charts/nr-ulsim.sc-fdma/templates/deployment.yaml b/charts/physims/charts/nr-ulsim.sc-fdma/templates/deployment.yaml new file mode 100644 index 0000000000000000000000000000000000000000..3119950e20c7da3494451ffd4bcde9c70ec68f59 --- /dev/null +++ b/charts/physims/charts/nr-ulsim.sc-fdma/templates/deployment.yaml @@ -0,0 +1,45 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ .Chart.Name }} + labels: + {{- include "oai-nr-ulsim-sc-fdma.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.replicaCount }} + selector: + matchLabels: + {{- include "oai-nr-ulsim-sc-fdma.selectorLabels" . | nindent 6 }} + strategy: + type: Recreate + template: + metadata: + labels: + {{- include "oai-nr-ulsim-sc-fdma.selectorLabels" . | nindent 8 }} + spec: + securityContext: + {{- toYaml .Values.podSecurityContext | nindent 8 }} + {{- if .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 8 }} + {{- end }} + containers: + - name: physim + image: "{{ .Values.global.image.repository }}:{{ .Values.global.image.version }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + securityContext: + {{- toYaml .Values.securityContext | nindent 12 }} + ports: + - containerPort: 80 + env: + - name: OPENAIR_DIR + value: /opt/oai-physim + command: ["/bin/sh", "-c"] + args: + - > + cmake_targets/autotests/run_exec_autotests.bash -g "nr_ulsim.sc-fdma" -d bin/ && + echo "FINISHED" && sleep infinity + dnsPolicy: ClusterFirst + restartPolicy: Always + schedulerName: default-scheduler + serviceAccountName: {{ .Values.global.serviceAccountName }} + terminationGracePeriodSeconds: 30 diff --git a/charts/physims/charts/nr-ulsim.sc-fdma/templates/service.yaml b/charts/physims/charts/nr-ulsim.sc-fdma/templates/service.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5653ae5ad20728e367ae14a5751a1a51dfb8fcf5 --- /dev/null +++ b/charts/physims/charts/nr-ulsim.sc-fdma/templates/service.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Service +metadata: + name: {{ .Chart.Name }} + labels: + {{- include "oai-nr-ulsim-sc-fdma.labels" . | nindent 4 }} +spec: + type: {{ .Values.service.type }} +{{- if contains "ClusterIP" .Values.service.type }} + clusterIP: None +{{- end }} + ports: + - name: oai-nr-ulsim-sc-fdma + # Port accessible outside cluster + port: {{ .Values.service.port }} + # Port to forward to inside the pod + targetPort: {{ .Values.service.Port }} + protocol: TCP + selector: + {{- include "oai-nr-ulsim-sc-fdma.selectorLabels" . | nindent 4 }} diff --git a/charts/physims/charts/nr-ulsim.sc-fdma/values.yaml b/charts/physims/charts/nr-ulsim.sc-fdma/values.yaml new file mode 100644 index 0000000000000000000000000000000000000000..0536fb03b6e46f7bece9e818cdd042b25a996f41 --- /dev/null +++ b/charts/physims/charts/nr-ulsim.sc-fdma/values.yaml @@ -0,0 +1,60 @@ +# Default values for oai-nr-ulsim-sc-fdma +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +image: + # pullPolicy: IfNotPresent or Never or Always + pullPolicy: Always + +imagePullSecrets: [] + +nameOverride: "" +fullnameOverride: "" + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "oai-nr-ulsim-sc-fdma" + +podSecurityContext: + runAsUser: 0 + runAsGroup: 0 + +securityContext: + privileged: true + capabilities: + add: + - SYS_CAP_PTRACE + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + +service: + type: ClusterIP + port: 80 + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +nodeSelector: {} + +tolerations: [] + +affinity: {} diff --git a/charts/physims/charts/polartest/templates/deployment.yaml b/charts/physims/charts/polartest/templates/deployment.yaml index 01a6efc815b7cba88f777b4fc0c495960845f582..20dac8ebf7a1e0aedd59da028ddadb5dcb88bd87 100644 --- a/charts/physims/charts/polartest/templates/deployment.yaml +++ b/charts/physims/charts/polartest/templates/deployment.yaml @@ -30,18 +30,14 @@ spec: {{- toYaml .Values.securityContext | nindent 12 }} ports: - containerPort: 80 - name: oai-polartest - # volumeMounts: - # - mountPath: /opt/oai-polartest/certs - # name: certs + env: + - name: OPENAIR_DIR + value: /opt/oai-physim command: ["/bin/sh", "-c"] args: - > - export OPENAIR_DIR=/opt/oai-physim && - cd cmake_targets/autotests && - ./run_exec_autotests.bash -g "015103" -q -np -b && - echo "FINISHED" && - sleep infinity + cmake_targets/autotests/run_exec_autotests.bash -g "polartest" -d bin/ && + echo "FINISHED" && sleep infinity dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler diff --git a/charts/physims/charts/polartest/values.yaml b/charts/physims/charts/polartest/values.yaml index e0751e8ec48cc3798097989abb7abea4cb8f5de8..f7195dd57270a49d3e977e7001efe2e26240e209 100644 --- a/charts/physims/charts/polartest/values.yaml +++ b/charts/physims/charts/polartest/values.yaml @@ -4,12 +4,7 @@ replicaCount: 1 -namespace: "OAICICD_PROJECT" - image: - registry: local - repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim - version: temp # pullPolicy: IfNotPresent or Never or Always pullPolicy: Always diff --git a/charts/physims/charts/smallblocktest/templates/deployment.yaml b/charts/physims/charts/smallblocktest/templates/deployment.yaml index 3439c2597ed787be2d53102c8ce4c719314fddeb..aafb16e054f78a4eebd8b6b23ed65bf91f1556fd 100644 --- a/charts/physims/charts/smallblocktest/templates/deployment.yaml +++ b/charts/physims/charts/smallblocktest/templates/deployment.yaml @@ -30,18 +30,14 @@ spec: {{- toYaml .Values.securityContext | nindent 12 }} ports: - containerPort: 80 - name: oai-smallblock - # volumeMounts: - # - mountPath: /opt/oai-smallblocktest/certs - # name: certs + env: + - name: OPENAIR_DIR + value: /opt/oai-physim command: ["/bin/sh", "-c"] args: - > - export OPENAIR_DIR=/opt/oai-physim && - cd cmake_targets/autotests && - ./run_exec_autotests.bash -g "015107" -q -np -b && - echo "FINISHED" && - sleep infinity + cmake_targets/autotests/run_exec_autotests.bash -g "smallblocktest" -d bin/ && + echo "FINISHED" && sleep infinity dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler diff --git a/charts/physims/charts/smallblocktest/values.yaml b/charts/physims/charts/smallblocktest/values.yaml index f933a978fd20515f5226e4f1232b77cdce3cb7f0..f08db5501a9c822290e42fdb1bbbbefcc710c5d4 100644 --- a/charts/physims/charts/smallblocktest/values.yaml +++ b/charts/physims/charts/smallblocktest/values.yaml @@ -4,12 +4,7 @@ replicaCount: 1 -namespace: "OAICICD_PROJECT" - image: - registry: local - repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim - version: temp # pullPolicy: IfNotPresent or Never or Always pullPolicy: Always diff --git a/charts/physims/charts/ulsim/templates/deployment.yaml b/charts/physims/charts/ulsim/templates/deployment.yaml index e8c90dabc1857c673d8a6a51d8c1da40d799ea2d..3185b074b257db4e200e1a2bf7b8bacc3febac7f 100644 --- a/charts/physims/charts/ulsim/templates/deployment.yaml +++ b/charts/physims/charts/ulsim/templates/deployment.yaml @@ -30,18 +30,14 @@ spec: {{- toYaml .Values.securityContext | nindent 12 }} ports: - containerPort: 80 - name: oai-ulsim - # volumeMounts: - # - mountPath: /opt/oai-ulsim/certs - # name: certs + env: + - name: OPENAIR_DIR + value: /opt/oai-physim command: ["/bin/sh", "-c"] args: - > - export OPENAIR_DIR=/opt/oai-physim && - cd cmake_targets/autotests && - ./run_exec_autotests.bash -g "015101" -q -np -b && - echo "FINISHED" && - sleep infinity + cmake_targets/autotests/run_exec_autotests.bash -g "ulsim" -d bin/ && + echo "FINISHED" && sleep infinity dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler diff --git a/charts/physims/charts/ulsim/values.yaml b/charts/physims/charts/ulsim/values.yaml index d25b6fc2a5351e6208124d06532dd4377d0d913b..3e625f02c6ef834b422af78b40b431a00d8cb5e6 100644 --- a/charts/physims/charts/ulsim/values.yaml +++ b/charts/physims/charts/ulsim/values.yaml @@ -4,12 +4,7 @@ replicaCount: 1 -namespace: "OAICICD_PROJECT" - image: - registry: local - repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim - version: temp # pullPolicy: IfNotPresent or Never or Always pullPolicy: Always diff --git a/charts/physims/values.yaml b/charts/physims/values.yaml index d5253c781226742bf7dc65bfa6e8b4f82cf5aa1f..70923badc529e3b0d56705d0ef52b2667fee835f 100644 --- a/charts/physims/values.yaml +++ b/charts/physims/values.yaml @@ -4,14 +4,23 @@ global: serviceAccountName: oai-physim-sa - namespace: "OAICICD_PROJECT" + namespace: "oaicicd-ran" image: - repository: image-registry.openshift-image-registry.svc:5000/OAICICD_PROJECT/oai-physim - version: TAG + registry: local + repository: image-registry.openshift-image-registry.svc:5000/oaicicd-ran/oai-physim + version: ci-physim-cleanup + # pullPolicy: IfNotPresent or Never or Always + pullPolicy: Always ## Declaring values specific to coressponding physim to overwrite -dlsim: +dlsim.basic: + replicaCount: 1 + service: + type: ClusterIP + port: 80 + +dlsim.100rb+tm2: replicaCount: 1 service: type: ClusterIP @@ -35,13 +44,43 @@ polartest: type: ClusterIP port: 80 -nr-pbchsim: +nr-pbchsim.106rb: + replicaCount: 1 + service: + type: ClusterIP + port: 80 + +nr-pbchsim.217rb: replicaCount: 1 service: type: ClusterIP port: 80 -nr-dlsim: +nr-pbchsim.273rb: + replicaCount: 1 + service: + type: ClusterIP + port: 80 + +nr-dlsim.basic: + replicaCount: 1 + service: + type: ClusterIP + port: 80 + +nr-dlsim.dmrs+ptrs: + replicaCount: 1 + service: + type: ClusterIP + port: 80 + +nr-dlsim.mcs+mimo: + replicaCount: 1 + service: + type: ClusterIP + port: 80 + +nr-dlsim.offset: replicaCount: 1 service: type: ClusterIP @@ -71,7 +110,25 @@ nr-pucchsim: type: ClusterIP port: 80 -nr-ulsim: +nr-ulsim.3gpp: + replicaCount: 1 + service: + type: ClusterIP + port: 80 + +nr-ulsim.mimo: + replicaCount: 1 + service: + type: ClusterIP + port: 80 + +nr-ulsim.misc: + replicaCount: 1 + service: + type: ClusterIP + port: 80 + +nr-ulsim.sc-fdma: replicaCount: 1 service: type: ClusterIP diff --git a/ci-scripts/buildOnVM.sh b/ci-scripts/buildOnVM.sh index eaca22f550b3cefc0ac36e66409840821f2a7962..5c563c032944d9da8ee8549947833a4f6486dd4d 100755 --- a/ci-scripts/buildOnVM.sh +++ b/ci-scripts/buildOnVM.sh @@ -196,7 +196,7 @@ function build_on_vm { echo "echo \"cd build\"" >> $VM_CMDS echo "cd build" >> $VM_CMDS echo "echo \"$BUILD_OPTIONS \"" >> $VM_CMDS - echo "$BUILD_OPTIONS > ../cmake_targets/log/rt_controller.Rel15.txt 2>&1" >> $VM_CMDS + echo "$BUILD_OPTIONS > ../cmake_targets/log/rt_controller.txt 2>&1" >> $VM_CMDS fi if [[ "$VM_NAME" != *"-cppcheck"* ]] && [[ "$VM_NAME" != *"-flexran-rtc"* ]] then diff --git a/ci-scripts/checkAddedWarnings.sh b/ci-scripts/checkAddedWarnings.sh index bda8287a784862ddc7a050e2216385231f6d3e76..cb0993cf4f7a57433d191f87e6e7fb4f3a4c86ce 100755 --- a/ci-scripts/checkAddedWarnings.sh +++ b/ci-scripts/checkAddedWarnings.sh @@ -110,7 +110,7 @@ MODIFIED_FILES=`git log $TARGET_INIT_COMMIT..$MERGE_COMMMIT --oneline --name-sta NB_WARNINGS_FILES=0 # Retrieve list of warnings -LIST_WARNING_FILES=`egrep "error:|warning:" archives/*/*.Rel15.txt | egrep -v "jobserver unavailable|Clock skew detected.|flexran.proto" | sed -e "s#^.*/home/ubuntu/tmp/##" -e "s#^.*/tmp/CI-eNB/##" -e "s#common/utils/.*/itti#common/utils/itti#" | awk -F ":" '{print $1}' | sort | uniq` +LIST_WARNING_FILES=`egrep "error:|warning:" archives/*/*.txt | egrep -v "jobserver unavailable|Clock skew detected.|flexran.proto" | sed -e "s#^.*/home/ubuntu/tmp/##" -e "s#^.*/tmp/CI-eNB/##" -e "s#common/utils/.*/itti#common/utils/itti#" | awk -F ":" '{print $1}' | sort | uniq` echo "" echo "List of files that have been modified by the Merge Request AND" diff --git a/ci-scripts/cls_cluster.py b/ci-scripts/cls_cluster.py index 210191ce6600f283dc8fd7f29301309a9b1746f3..1d44e7799b4e9dcff1444cc85f23bebaacc27a7c 100644 --- a/ci-scripts/cls_cluster.py +++ b/ci-scripts/cls_cluster.py @@ -134,7 +134,7 @@ class Cluster: while timeout_sec > 0: # check status for j in jobs: - sshSession.command(f'oc get pods | grep {j}', '\$', 10, silent = True) + sshSession.command(f'oc get pods | grep {j}', '\$', 30, silent = True) if sshSession.getBefore().count('Completed') > 0: jobs.remove(j) if sshSession.getBefore().count('Error') > 0: logging.error(f'error for job {j}: ' + sshSession.getBefore()) @@ -307,6 +307,21 @@ class Cluster: gnb_job = self._start_build(mySSH, 'oai-gnb') attemptedImages += ['oai-gnb'] + self._recreate_is_tag(mySSH, 'oai-gnb-aw2s', imageTag, 'openshift/oai-gnb-aw2s-is.yaml') + self._recreate_bc(mySSH, 'oai-gnb-aw2s', imageTag, 'openshift/oai-gnb-aw2s-bc.yaml') + self._retag_image_statement(mySSH, 'ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.gNB.aw2s.rhel8.2') + self._retag_image_statement(mySSH, 'ran-build', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-build', imageTag, 'docker/Dockerfile.gNB.aw2s.rhel8.2') + gnb_aw2s_job = self._start_build(mySSH, 'oai-gnb-aw2s') + attemptedImages += ['oai-gnb-aw2s'] + + wait = enb_job is not None and gnb_job is not None and gnb_aw2s_job is not None and self._wait_build_end(mySSH, [enb_job, gnb_job, gnb_aw2s_job], 600) + if not wait: logging.error('error during build of eNB/gNB') + status = status and wait + # recover logs + mySSH.command(f'oc logs {enb_job} > cmake_targets/log/oai-enb.log', '\$', 10) + mySSH.command(f'oc logs {gnb_job} > cmake_targets/log/oai-gnb.log', '\$', 10) + mySSH.command(f'oc logs {gnb_aw2s_job} > cmake_targets/log/oai-gnb-aw2s.log', '\$', 10) + self._recreate_is_tag(mySSH, 'oai-lte-ue', imageTag, 'openshift/oai-lte-ue-is.yaml') self._recreate_bc(mySSH, 'oai-lte-ue', imageTag, 'openshift/oai-lte-ue-bc.yaml') self._retag_image_statement(mySSH, 'ran-base', 'image-registry.openshift-image-registry.svc:5000/oaicicd-ran/ran-base', baseTag, 'docker/Dockerfile.lteUE.rhel8.2') @@ -321,12 +336,10 @@ class Cluster: nrue_job = self._start_build(mySSH, 'oai-nr-ue') attemptedImages += ['oai-nr-ue'] - wait = enb_job is not None and gnb_job is not None and lteue_job is not None and nrue_job is not None and self._wait_build_end(mySSH, [enb_job, gnb_job, lteue_job, nrue_job], 600) - if not wait: logging.error('error during build of eNB/gNB/lteUE/nrUE') + wait = lteue_job is not None and nrue_job is not None and self._wait_build_end(mySSH, [lteue_job, nrue_job], 600) + if not wait: logging.error('error during build of lteUE/nrUE') status = status and wait # recover logs - mySSH.command(f'oc logs {enb_job} > cmake_targets/log/oai-enb.log', '\$', 10) - mySSH.command(f'oc logs {gnb_job} > cmake_targets/log/oai-gnb.log', '\$', 10) mySSH.command(f'oc logs {lteue_job} > cmake_targets/log/oai-lte-ue.log', '\$', 10) mySSH.command(f'oc logs {nrue_job} > cmake_targets/log/oai-nr-ue.log', '\$', 10) diff --git a/ci-scripts/cls_containerize.py b/ci-scripts/cls_containerize.py index 6197cc7e4f96953ff06846dfe797e8b89124d3d0..5cf6b76b38724bb805b60d3e72741e44f3d87ccc 100644 --- a/ci-scripts/cls_containerize.py +++ b/ci-scripts/cls_containerize.py @@ -53,33 +53,35 @@ import constants as CONST # (e.g., cls_cluster.py) #----------------------------------------------------------- def CreateWorkspace(sshSession, sourcePath, ranRepository, ranCommitID, ranTargetBranch, ranAllowMerge): - # on RedHat/CentOS .git extension is mandatory - result = re.search('([a-zA-Z0-9\:\-\.\/])+\.git', ranRepository) - if result is not None: - full_ran_repo_name = ranRepository.replace('git/', 'git') - else: - full_ran_repo_name = ranRepository + '.git' + if ranCommitID == '': + logging.error('need ranCommitID in CreateWorkspace()') + sys.exit('Insufficient Parameter in CreateWorkspace()') + + sshSession.command(f'rm -rf {sourcePath}', '\$', 10) sshSession.command('mkdir -p ' + sourcePath, '\$', 5) sshSession.command('cd ' + sourcePath, '\$', 5) - sshSession.command('if [ ! -e .git ]; then stdbuf -o0 git clone ' + full_ran_repo_name + ' .; else stdbuf -o0 git fetch --prune; fi', '\$', 600) - if sshSession.getBefore().count('done.') == 0: - logging.warning('did not find \'done.\' in git output while cloning/fetching, was not successful?') + # Recent version of git (>2.20?) should handle missing .git extension # without problems + sshSession.command(f'git clone --filter=blob:none -n -b develop {ranRepository} .', '\$', 60) + if sshSession.getBefore().count('error') > 0 or sshSession.getBefore().count('error') > 0: + sys.exit('error during clone') sshSession.command('git config user.email "jenkins@openairinterface.org"', '\$', 5) sshSession.command('git config user.name "OAI Jenkins"', '\$', 5) - sshSession.command('git clean -x -d -ff', '\$', 30) sshSession.command('mkdir -p cmake_targets/log', '\$', 5) # if the commit ID is provided use it to point to it - if ranCommitID != '': - sshSession.command('git checkout -f ' + ranCommitID, '\$', 30) + sshSession.command(f'git checkout -f {ranCommitID}', '\$', 30) + if sshSession.getBefore().count(f'HEAD is now at {ranCommitID[:6]}') != 1: + sshSession.command('git log --oneline | head -n5', '\$', 5) + logging.warning(f'problems during checkout, is at: {sshSession.getBefore()}') + else: + logging.debug('successful checkout') # if the branch is not develop, then it is a merge request and we need to do # the potential merge. Note that merge conflicts should already been checked earlier if ranAllowMerge: if ranTargetBranch == '': - sshSession.command('git merge --ff origin/develop -m "Temporary merge for CI"', '\$', 5) - else: - logging.debug('Merging with the target branch: ' + ranTargetBranch) - sshSession.command('git merge --ff origin/' + ranTargetBranch + ' -m "Temporary merge for CI"', '\$', 5) + ranTargetBranch = 'develop' + logging.debug(f'Merging with the target branch: {ranTargetBranch}') + sshSession.command(f'git merge --ff origin/{ranTargetBranch} -m "Temporary merge for CI"', '\$', 5) def CopyLogsToExecutor(sshSession, sourcePath, log_name, scpIp, scpUser, scpPw): sshSession.command(f'cd {sourcePath}/cmake_targets', '\$', 5) @@ -356,9 +358,6 @@ class Containerize(): if image != 'ran-build': mySSH.command(f'sed -i -e "s#ran-build:latest#ran-build:{imageTag}#" docker/Dockerfile.{pattern}{self.dockerfileprefix}', '\$', 5) mySSH.command(f'{self.cli} build {self.cliBuildOptions} --target {image} --tag {image}:{imageTag} --file docker/Dockerfile.{pattern}{self.dockerfileprefix} . > cmake_targets/log/{image}.log 2>&1', '\$', 1200) - # Flatten Image - if image != 'ran-build': - mySSH.command('python3 ./ci-scripts/flatten_image.py --tag ' + image + ':' + imageTag, '\$', 300) # split the log mySSH.command('mkdir -p cmake_targets/log/' + image, '\$', 5) mySSH.command('python3 ci-scripts/docker_log_split.py --logfilename=cmake_targets/log/' + image + '.log', '\$', 5) @@ -711,7 +710,9 @@ class Containerize(): else: # containers are unhealthy, so we won't start. However, logs are stored at the end # in UndeployObject so we here store the logs of the unhealthy container to report it - mySSH.command('docker logs ' + containerName + ' > ' + lSourcePath + '/cmake_targets/' + self.eNB_logFile[self.eNB_instance], '\$', 30) + logfilename = f'{lSourcePath}/cmake_targets/{self.eNB_logFile[self.eNB_instance]}' + mySSH.command('docker logs {containerName} > {logfilename}', '\$', 30) + mySSH.copyin(lIpAddr, lUserName, lPassWord, logfilename, '.') mySSH.close() if status: @@ -875,7 +876,7 @@ class Containerize(): cmd = 'docker inspect -f "{{.Config.Image}}" ' + newCont imageName = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30) imageName = str(imageName).strip() - cmd = 'docker image inspect --format "{{.RepoTags}}\t{{.Size}}\t{{.Created}}" ' + imageName + cmd = 'docker image inspect --format "{{.RepoTags}}\t{{.Size}} bytes\t{{.Created}}\t{{.Id}}" ' + imageName imagesInfo += subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT, universal_newlines=True, timeout=30) html_queue = SimpleQueue() diff --git a/ci-scripts/cls_oaicitest.py b/ci-scripts/cls_oaicitest.py index fcaa22afed0a6c6c209d5fb0934e75f704186dff..d3f4191c02908d2251ab9e763303d7dca351b20a 100644 --- a/ci-scripts/cls_oaicitest.py +++ b/ci-scripts/cls_oaicitest.py @@ -526,7 +526,7 @@ class OaiCiTest(): else: SSH.command('sed -e "s#93#92#" -e "s#8baf473f2f8fd09487cccbd7097c6862#fec86ba6eb707ed08905757b1bb44b8f#" -e "s#e734f8734007d6c5ce7a0508809e7e9c#C42449363BBAD02B66D16BC975D77CC1#" ../../../openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf > ../../../openair3/NAS/TOOLS/ci-ue_eurecom_test_sfr.conf', '\$', 5) SSH.command('echo ' + self.UEPassword + ' | sudo -S rm -Rf .u*', '\$', 5) - SSH.command('echo ' + self.UEPassword + ' | sudo -S ../../../targets/bin/conf2uedata -c ../../../openair3/NAS/TOOLS/ci-ue_eurecom_test_sfr.conf -o .', '\$', 5) + SSH.command('echo ' + self.UEPassword + ' | sudo -S ../../nas_sim_tools/build/conf2uedata -c ../../../openair3/NAS/TOOLS/ci-ue_eurecom_test_sfr.conf -o .', '\$', 5) else: SSH.command('if [ -e rbconfig.raw ]; then echo ' + self.UEPassword + ' | sudo -S rm rbconfig.raw; fi', '\$', 5) SSH.command('if [ -e reconfig.raw ]; then echo ' + self.UEPassword + ' | sudo -S rm reconfig.raw; fi', '\$', 5) diff --git a/ci-scripts/cls_physim1.py b/ci-scripts/cls_physim1.py index 4b7c01c64d8dbeeb7d4fc8397501bbaffe0a7d27..8ba83d4df9c32bb42276a5be133bc4b1157eb4c3 100644 --- a/ci-scripts/cls_physim1.py +++ b/ci-scripts/cls_physim1.py @@ -57,7 +57,6 @@ class PhySim: self.ranAllowMerge= False self.ranTargetBranch= "" self.testResult = {} - self.testCount = [0,0,0] self.testSummary = {} self.testStatus = False @@ -152,7 +151,7 @@ class PhySim: isFinished1 = True mySSH.command('oc logout', '\$', 30) mySSH.close() - self.AnalyzeLogFile_phySim(HTML) + self.AnalyzeLogFile_phySim() RAN.prematureExit = True return else: @@ -162,16 +161,17 @@ class PhySim: while(count < 2 and isRunning == False): time.sleep(60) mySSH.command('oc get pods -o wide -l app.kubernetes.io/instance=physim | tee -a cmake_targets/log/physim_pods_summary.txt', '\$', 30, resync=True) - if mySSH.getBefore().count('Running') == 12: + if mySSH.getBefore().count('Running') == 21: logging.debug('\u001B[1m Running the physim test Scenarios\u001B[0m') isRunning = True podNames = re.findall('oai-[\S\d\w]+', mySSH.getBefore()) count +=1 + mySSH.command('for pod in $(oc get pods | tail -n +2 | awk \'{print $1}\'); do oc describe pod $pod >> cmake_targets/log/physim_pods_summary.txt; done', '\$', 10) if isRunning == False: logging.error('\u001B[1m Some PODS Running FAILED \u001B[0m') mySSH.command('oc get pods -l app.kubernetes.io/instance=physim 2>&1 | tee -a cmake_targets/log/physim_pods_summary.txt', '\$', 6) mySSH.command('helm uninstall physim 2>&1 >> cmake_targets/log/physim_helm_summary.txt', '\$', 6) - self.AnalyzeLogFile_phySim(HTML) + self.AnalyzeLogFile_phySim() isFinished1 = False while(isFinished1 == False): time.sleep(20) @@ -188,7 +188,7 @@ class PhySim: isFinished = False # doing a deep copy! tmpPodNames = podNames.copy() - while(count < 50 and isFinished == False): + while(count < 15 and isFinished == False): time.sleep(60) for podName in tmpPodNames: mySSH.command2(f'oc logs --tail=1 {podName} 2>&1', 6, silent=True) @@ -206,20 +206,19 @@ class PhySim: # Getting the logs of each executables running in individual pods for podName in podNames: mySSH.command(f'oc logs {podName} >> cmake_targets/log/physim_test.txt 2>&1', '\$', 15, resync=True) - time.sleep(30) mySSH.copyin(lIpAddr, lUserName, lPassWord, lSourcePath + '/cmake_targets/log/physim_test.txt', '.') try: listLogFiles = subprocess.check_output('egrep --colour=never "Execution Log file|Linux oai-" physim_test.txt', shell=True, universal_newlines=True) for line in listLogFiles.split('\n'): res1 = re.search('Linux (?P<pod>oai-[a-zA-Z0-9\-]+) ', str(line)) - res2 = re.search('Execution Log file = (?P<name>[a-zA-Z0-9\-\/\.\_]+)', str(line)) + res2 = re.search('Execution Log file = (?P<name>[a-zA-Z0-9\-\/\.\_\+]+)', str(line)) if res1 is not None: podName = res1.group('pod') if res2 is not None: logFileInPod = res2.group('name') - folderName = re.sub('/opt/oai-physim/cmake_targets/autotests/log/', '', logFileInPod) + folderName = logFileInPod.replace('/opt/oai-physim/cmake_targets/autotests/log/', '') folderName = re.sub('/test.*', '', folderName) - fileName = re.sub('/opt/oai-physim/cmake_targets/autotests/log/' + folderName + '/', '', logFileInPod) + fileName = logFileInPod.replace('/opt/oai-physim/cmake_targets/autotests/log/' + folderName + '/', '') mySSH.command('mkdir -p cmake_targets/log/' + folderName, '\$', 5, silent=True) mySSH.command('oc cp ' + podName + ':' + logFileInPod + ' cmake_targets/log/' + folderName + '/' + fileName, '\$', 20, silent=True) except Exception as e: @@ -237,7 +236,7 @@ class PhySim: logging.debug('\u001B[1m UnDeployed PhySim Successfully on OC Cluster\u001B[0m') mySSH.command('oc logout', '\$', 6) mySSH.close() - self.AnalyzeLogFile_phySim(HTML) + self.AnalyzeLogFile_phySim() if self.testStatus and isFinished: HTML.CreateHtmlTestRow('N/A', 'OK', CONST.ALL_PROCESSES_OK) HTML.CreateHtmlTestRowPhySimTestResult(self.testSummary,self.testResult) @@ -251,50 +250,37 @@ class PhySim: HTML.CreateHtmlTestRowPhySimTestResult(self.testSummary,self.testResult) logging.error('\u001B[1m Physical Simulator Fail\u001B[0m') - def AnalyzeLogFile_phySim(self, HTML): - lIpAddr = self.eNBIPAddress - lUserName = self.eNBUserName - lPassWord = self.eNBPassword - lSourcePath = self.eNBSourceCodePath + def AnalyzeLogFile_phySim(self): mySSH = SSH.SSHConnection() - mySSH.open(lIpAddr, lUserName, lPassWord) - mySSH.command('cd ' + lSourcePath, '\$', 5) - mySSH.command('cd ' + lSourcePath + '/cmake_targets', '\$', 5) - mySSH.command('mkdir -p physim_test_log_' + self.testCase_id, '\$', 5) - mySSH.command('cp log/physim_* ' + 'physim_test_log_' + self.testCase_id, '\$', 5) - mySSH.command('tar cvf physim_test_log_' + self.testCase_id + '/physim_log.tar log/015*', '\$', 180) - if not os.path.exists(f'./physim_test_logs_{self.testCase_id}'): - os.mkdir(f'./physim_test_logs_{self.testCase_id}') - mySSH.copyin(lIpAddr, lUserName, lPassWord, lSourcePath + '/cmake_targets/physim_test_log_' + self.testCase_id + '/*', './physim_test_logs_' + self.testCase_id) - mySSH.command('rm -rf ./physim_test_log_'+ self.testCase_id, '\$', 5) + mySSH.open(self.eNBIPAddress, self.eNBUserName, self.eNBPassword) + dirToCopy = f'{self.eNBSourceCodePath}/cmake_targets/log/' + mySSH.copyin(self.eNBIPAddress, self.eNBUserName, self.eNBPassword, dirToCopy, f'./physim_test_logs_{self.testCase_id}/') + mySSH.command(f'rm -rf {dirToCopy}', '\$', 5) mySSH.close() # physim test log analysis nextt = 0 + nbTests = 0 + nbFailed = 0 if (os.path.isfile(f'./physim_test_logs_{self.testCase_id}/physim_test.txt')): with open(f'./physim_test_logs_{self.testCase_id}/physim_test.txt', 'r') as logfile: for line in logfile: - if re.search('execution 015', str(line)) or re.search('Bypassing compilation', str(line)): - nextt = 1 - elif nextt == 1: - if not re.search('Test Results', str(line)): - nextt = 0 - ret2 = re.search('T[^\n]*', str(line)) - if ret2 is not None: - ret3 = ret2.group() - ret3 = ret3.replace("[00m", "") - if re.search('execution 015', str(line)): - self.testCount[0] += 1 - testName = line.split() - ret1 = re.search('Result = PASS', str(line)) - if ret1 is not None: - self.testResult[testName[1]] = [ret3, 'PASS'] - self.testCount[1] += 1 - else: - self.testResult[testName[1]] = [ret3, 'FAIL'] - self.testCount[2] += 1 - self.testSummary['Nbtests'] = self.testCount[0] - self.testSummary['Nbpass'] = self.testCount[1] - self.testSummary['Nbfail'] = self.testCount[2] + # the following regex would match the following line: + # execution nr_pbchsim.106rb.test1 {Test1: PBCH-only, 106 PRB} Run_Result = " Run_1 =PASS Run_2 =PASS Run_3 =PASS" Result = PASS + # ^testname ^testdescription ^test1 ^test2 ^test3 ^status + ret = re.search('execution +(?P<name>[a-zA-Z0-9\._\-\+]+) +{(?P<desc>[A-Za-z0-9\.\_\-\+:,;\/\%\=\(\) ]+)} *Run_Result *= *\" *Run_1 *= *(?P<run1>[A-Za-z]+) *Run_2 *= *(?P<run2>[A-Za-z]+) *Run_3 *= *(?P<run3>[A-Za-z]+) *\" + Result *= *(?P<status>[A-Za-z]+)', line) + if ret is None: + continue + nbTests += 1 + r = [ret.group('run1'), ret.group('run2'), ret.group('run3')] + nbPass = sum([x == 'PASS' for x in r]) + resultstr = 'PASS' + if nbPass < 3 or ret.group('status') != 'PASS': + resultstr = f'FAIL ({3-nbPass}/3)' + nbFailed += 1 + self.testResult[ret.group('name')] = [ret.group('desc'), resultstr] + self.testSummary['Nbtests'] = nbTests + self.testSummary['Nbpass'] = nbTests - nbFailed + self.testSummary['Nbfail'] = nbFailed if self.testSummary['Nbfail'] == 0: self.testStatus = True return 0 diff --git a/ci-scripts/conf_files/episci/proxy_gnb.band78.sa.fr1.106PRB.usrpn310.conf b/ci-scripts/conf_files/episci/proxy_gnb.band78.sa.fr1.106PRB.usrpn310.conf index 50dba38a511599987b99677c91eea083d3b870cc..20b0d3caf7f92b67e61a9f4c97519b493486ffa7 100644 --- a/ci-scripts/conf_files/episci/proxy_gnb.band78.sa.fr1.106PRB.usrpn310.conf +++ b/ci-scripts/conf_files/episci/proxy_gnb.band78.sa.fr1.106PRB.usrpn310.conf @@ -11,7 +11,7 @@ gNBs = // Tracking area code, 0x0000 and 0xfffe are reserved values tracking_area_code = 1; - plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ({ sst = 1 }) }); + plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ({ sst = 1, sd = 0xffffff }) }); nr_cellid = 12345678L; diff --git a/ci-scripts/conf_files/gNB_SA_CU.conf b/ci-scripts/conf_files/gNB_SA_CU.conf index 664af9d65eae102711e67b4342a91af53ab41344..81635f7eb203bea1eca8f6292eb1a3d369df3997 100644 --- a/ci-scripts/conf_files/gNB_SA_CU.conf +++ b/ci-scripts/conf_files/gNB_SA_CU.conf @@ -15,7 +15,7 @@ gNBs = // Tracking area code, 0x0000 and 0xfffe are reserved values tracking_area_code = 1; - plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ({ sst = 1 }) }); + plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ({ sst = 1, sd = 0xffffff }) }); nr_cellid = 12345678L; diff --git a/ci-scripts/conf_files/gNB_SA_DU.conf b/ci-scripts/conf_files/gNB_SA_DU.conf index 50a3468340056dd899b38a75a2f18bc34134e997..2a2524cb8779bd3de3ce70240c47f6289788a246 100644 --- a/ci-scripts/conf_files/gNB_SA_DU.conf +++ b/ci-scripts/conf_files/gNB_SA_DU.conf @@ -14,7 +14,7 @@ gNBs = // Tracking area code, 0x0000 and 0xfffe are reserved values tracking_area_code = 1; - plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ({ sst = 1 }) }); + plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ({ sst = 1, sd = 0xffffff }) }); nr_cellid = 12345678L; diff --git a/ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.2x2.usrpn310.asue.conf b/ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.2x2.usrpn310.asue.conf index 32d49aa22a9c7201150d4eccd50c686806339b8b..78b5d56b7392839cab597152f8ab92a942b9c9b3 100644 --- a/ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.2x2.usrpn310.asue.conf +++ b/ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.2x2.usrpn310.asue.conf @@ -24,8 +24,10 @@ gNBs = ////////// Physical parameters: pusch_AntennaPorts = 2; + pdsch_AntennaPorts_XP = 2; ul_prbblacklist = "51,52,53,54" do_SRS = 1; + do_CSIRS = 1; pdcch_ConfigSIB1 = ( { @@ -209,9 +211,9 @@ MACRLCs = ( num_cc = 1; tr_s_preference = "local_L1"; tr_n_preference = "local_RRC"; -# pusch_TargetSNRx10 = 200; -# pucch_TargetSNRx10 = 150; - ulsch_max_frame_inactivity = 0; + pusch_TargetSNRx10 = 250; + pucch_TargetSNRx10 = 250; + ulsch_max_frame_inactivity = 10; } ); @@ -219,7 +221,7 @@ L1s = ( { num_cc = 1; tr_n_preference = "local_mac"; - prach_dtx_threshold = 120; + prach_dtx_threshold = 200; # pucch0_dtx_threshold = 150; } ); @@ -257,22 +259,22 @@ THREAD_STRUCT = ( } ); -#security = { +security = { # preferred ciphering algorithms # the first one of the list that an UE supports in chosen # valid values: nea0, nea1, nea2, nea3 -# ciphering_algorithms = ( "nea2" ); + ciphering_algorithms = ( "nea2" ); # preferred integrity algorithms # the first one of the list that an UE supports in chosen # valid values: nia0, nia1, nia2, nia3 -# integrity_algorithms = ( "nia2", "nia0" ); + integrity_algorithms = ( "nia1", "nia2" ); # setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter # what 'ciphering_algorithms' configures; same thing for 'drb_integrity' -# drb_ciphering = "yes"; -# drb_integrity = "no"; -#}; + drb_ciphering = "yes"; + drb_integrity = "yes"; +}; log_config : { diff --git a/ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf b/ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf index 9f83c3f654ebb7aa50d3e3a02da948c86e76da93..53adb4eae14d9d143c55e8f70eaf00b85fd412b0 100644 --- a/ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf +++ b/ci-scripts/conf_files/gnb.band78.sa.fr1.106PRB.usrpn310.conf @@ -15,7 +15,7 @@ gNBs = // Tracking area code, 0x0000 and 0xfffe are reserved values tracking_area_code = 1; - plmn_list = ({ mcc = 208; mnc = 97; mnc_length = 2; snssaiList = ({ sst = 1 }) }); + plmn_list = ({ mcc = 208; mnc = 97; mnc_length = 2; snssaiList = ({ sst = 1, sd = 0xffffff }) }); nr_cellid = 12345678L diff --git a/ci-scripts/conf_files/gnb.sa.band66.fr1.106PRB.usrpn300.conf b/ci-scripts/conf_files/gnb.sa.band66.fr1.106PRB.usrpn300.conf index 787701fc9c3eab813cfced3234891e3cbcf1a5ca..d45f9bfd622dc07b86874de3ae638154b06da153 100644 --- a/ci-scripts/conf_files/gnb.sa.band66.fr1.106PRB.usrpn300.conf +++ b/ci-scripts/conf_files/gnb.sa.band66.fr1.106PRB.usrpn300.conf @@ -11,7 +11,7 @@ gNBs = // Tracking area code, 0x0000 and 0xfffe are reserved values tracking_area_code = 1; - plmn_list = ({ mcc = 208; mnc = 95; mnc_length = 2; snssaiList = ({ sst = 1 }) }); + plmn_list = ({ mcc = 208; mnc = 95; mnc_length = 2; snssaiList = ({ sst = 1, sd = 0xffffff }) }); nr_cellid = 12345678L; diff --git a/ci-scripts/conf_files/gnb.sa.band78.fr1.106PRB.usrpb210.conf b/ci-scripts/conf_files/gnb.sa.band78.fr1.106PRB.usrpb210.conf index 3ec265f12c082df474062ba6b9a710b3c10e4cb4..b82944805a12d714552a5295dbf3bcde9df86e75 100644 --- a/ci-scripts/conf_files/gnb.sa.band78.fr1.106PRB.usrpb210.conf +++ b/ci-scripts/conf_files/gnb.sa.band78.fr1.106PRB.usrpb210.conf @@ -11,7 +11,7 @@ gNBs = // Tracking area code, 0x0000 and 0xfffe are reserved values tracking_area_code = 1; - plmn_list = ({ mcc = 222; mnc = 01; mnc_length = 2; snssaiList = ({ sst = 1; }) }); + plmn_list = ({ mcc = 222; mnc = 01; mnc_length = 2; snssaiList = ({ sst = 1, sd = 0xffffff }) }); nr_cellid = 12345678L; diff --git a/ci-scripts/datalog_rt_stats.2x2.yaml b/ci-scripts/datalog_rt_stats.2x2.yaml index eccde746cc773bba350961a45ce4bbb8ea1c2d4c..8caf0201aaa87f19425e33c7e2b5b6e524804c57 100644 --- a/ci-scripts/datalog_rt_stats.2x2.yaml +++ b/ci-scripts/datalog_rt_stats.2x2.yaml @@ -8,9 +8,9 @@ ColNames : - Average vs Reference Deviation (Reference Value; Acceptability Threshold) Ref : feprx : 120.0 - feptx_prec : 8.0 + feptx_prec : 16.0 feptx_ofdm : 50.0 - feptx_total : 75.0 + feptx_total : 120.0 L1 Tx processing : 300.0 DLSCH encoding : 230.0 L1 Rx processing : 175.0 diff --git a/ci-scripts/datalog_rt_stats.default.yaml b/ci-scripts/datalog_rt_stats.default.yaml index 079da93fab3c92a071e60cc0ea3f42d69ed0160b..2b8a7233ae9bec11e0fae4a0deedc5a701d380a3 100644 --- a/ci-scripts/datalog_rt_stats.default.yaml +++ b/ci-scripts/datalog_rt_stats.default.yaml @@ -16,7 +16,7 @@ Ref : L1 Rx processing : 275.0 PUSCH inner-receiver : 107.0 PUSCH decoding : 246.0 - Schedule Response : 22.0 + Schedule Response : 25.0 DL & UL scheduling timing : 10.0 UL Indication : 34.0 Threshold : diff --git a/ci-scripts/doc/vm_based_simulator_main_scripts.md b/ci-scripts/doc/vm_based_simulator_main_scripts.md index 0d54d035210018cc8c36b793fe18889c785f75b2..d5df27529c99431bf06e4bd9d928092a72e27ff6 100644 --- a/ci-scripts/doc/vm_based_simulator_main_scripts.md +++ b/ci-scripts/doc/vm_based_simulator_main_scripts.md @@ -83,55 +83,55 @@ You can get the list of variant specific variables specifying the variant argume VM_NAME=ci-flexran-rtc ARCHIVES_LOC=flexran VM_MEMORY=2048 VM_CPU=4 NB_PATTERN_FILES=1 BUILD_OPTIONS="cmake . && make -j2" - LOG_PATTERN=.Rel15.txt + LOG_PATTERN=.txt --variant enb-usrp OR -v1 ( build and test ) VM_NAME=ci-enb-usrp ARCHIVES_LOC=enb_usrp VM_MEMORY=2048 VM_CPU=4 NB_PATTERN_FILES=9 BUILD_OPTIONS="--eNB -w USRP --mu" - LOG_PATTERN=.Rel15.txt + LOG_PATTERN=.txt --variant l1-sim OR -v20 ( test ) VM_NAME=ci-l1-sim ARCHIVES_LOC=l1_sim VM_MEMORY=2048 VM_CPU=4 NB_PATTERN_FILES=9 BUILD_OPTIONS="" - LOG_PATTERN=.Rel15.txt + LOG_PATTERN=.txt --variant rf-sim OR -v21 ( test ) VM_NAME=ci-rf-sim ARCHIVES_LOC=rf_sim VM_MEMORY=2048 VM_CPU=4 NB_PATTERN_FILES=9 BUILD_OPTIONS="" - LOG_PATTERN=.Rel15.txt + LOG_PATTERN=.txt --variant l2-sim OR -v22 ( test ) VM_NAME=ci-l2-sim ARCHIVES_LOC=l2_sim VM_MEMORY=2048 VM_CPU=4 NB_PATTERN_FILES=9 BUILD_OPTIONS="" - LOG_PATTERN=.Rel15.txt + LOG_PATTERN=.txt --variant phy-sim OR -v3 ( build and test ) VM_NAME=ci-phy-sim ARCHIVES_LOC=phy_sim VM_MEMORY=2048 VM_CPU=4 NB_PATTERN_FILES=3 BUILD_OPTIONS="--phy_simulators" - LOG_PATTERN=.Rel15.txt + LOG_PATTERN=.txt --variant cppcheck OR -v4 ( build and test ) VM_NAME=ci-cppcheck ARCHIVES_LOC=cppcheck VM_MEMORY=4096 VM_CPU=4 NB_PATTERN_FILES=1 BUILD_OPTIONS="--enable=warning --force --xml --xml-version=2 --suppressions-list=ci-scripts/cppcheck_suppressions.list -I common/utils -j4" - LOG_PATTERN=cppcheck.xml + LOG_PATTERN=cppcheck.xml --variant enb-ethernet OR -v7 ( build and test ) VM_NAME=ci-enb-ethernet ARCHIVES_LOC=enb_eth VM_MEMORY=4096 VM_CPU=4 NB_PATTERN_FILES=8 BUILD_OPTIONS="--eNB" - LOG_PATTERN=.Rel15.txt + LOG_PATTERN=.txt --variant ue-ethernet OR -v8 ( build and test ) VM_NAME=ci-ue-ethernet ARCHIVES_LOC=ue_eth VM_MEMORY=4096 VM_CPU=4 NB_PATTERN_FILES=12 BUILD_OPTIONS="--UE" - LOG_PATTERN=.Rel15.txt + LOG_PATTERN=.txt ``` diff --git a/ci-scripts/flatten_image.py b/ci-scripts/flatten_image.py index aef5bfccad70fea679eed0648b9978788d56d2b0..55ac8ff0da4923381b857caa7c7c7aa580cb1d00 100644 --- a/ci-scripts/flatten_image.py +++ b/ci-scripts/flatten_image.py @@ -77,25 +77,25 @@ def perform_flattening(tag): cmd += ' --change "EXPOSE 2152/udp" ' cmd += ' --change "EXPOSE 36412/udp" ' cmd += ' --change "EXPOSE 36422/udp" ' - cmd += ' --change "CMD [\\"/opt/oai-enb/bin/lte-softmodem.Rel15\\", \\"-O\\", \\"/opt/oai-enb/etc/enb.conf\\"]" ' + cmd += ' --change "CMD [\\"/opt/oai-enb/bin/lte-softmodem\\", \\"-O\\", \\"/opt/oai-enb/etc/enb.conf\\"]" ' cmd += ' --change "ENTRYPOINT [\\"/opt/oai-enb/bin/entrypoint.sh\\"]" ' if re.search('oai-gnb', tag): cmd += ' --change "WORKDIR /opt/oai-gnb" ' cmd += ' --change "EXPOSE 2152/udp" ' cmd += ' --change "EXPOSE 36422/udp" ' - cmd += ' --change "CMD [\\"/opt/oai-gnb/bin/nr-softmodem.Rel15\\", \\"-O\\", \\"/opt/oai-gnb/etc/gnb.conf\\"]" ' + cmd += ' --change "CMD [\\"/opt/oai-gnb/bin/nr-softmodem\\", \\"-O\\", \\"/opt/oai-gnb/etc/gnb.conf\\"]" ' cmd += ' --change "ENTRYPOINT [\\"/opt/oai-gnb/bin/entrypoint.sh\\"]" ' if re.search('oai-lte-ue', tag): cmd += ' --change "WORKDIR /opt/oai-lte-ue" ' - cmd += ' --change "CMD [\\"/opt/oai-lte-ue/bin/lte-uesoftmodem.Rel15\\"]" ' + cmd += ' --change "CMD [\\"/opt/oai-lte-ue/bin/lte-uesoftmodem\\"]" ' cmd += ' --change "ENTRYPOINT [\\"/opt/oai-lte-ue/bin/entrypoint.sh\\"]" ' if re.search('oai-nr-ue', tag): cmd += ' --change "WORKDIR /opt/oai-nr-ue" ' - cmd += ' --change "CMD [\\"/opt/oai-nr-ue/bin/nr-uesoftmodem.Rel15\\", \\"-O\\", \\"/opt/oai-nr-ue/etc/nr-ue.conf\\"]" ' + cmd += ' --change "CMD [\\"/opt/oai-nr-ue/bin/nr-uesoftmodem\\", \\"-O\\", \\"/opt/oai-nr-ue/etc/nr-ue.conf\\"]" ' cmd += ' --change "ENTRYPOINT [\\"/opt/oai-nr-ue/bin/entrypoint.sh\\"]" ' if re.search('oai-lte-ru', tag): cmd += ' --change "WORKDIR /opt/oai-lte-ru" ' - cmd += ' --change "CMD [\\"/opt/oai-lte-ru/bin/oairu.Rel15\\", \\"-O\\", \\"/opt/oai-lte-ru/etc/rru.conf\\"]" ' + cmd += ' --change "CMD [\\"/opt/oai-lte-ru/bin/oairu\\", \\"-O\\", \\"/opt/oai-lte-ru/etc/rru.conf\\"]" ' cmd += ' --change "ENTRYPOINT [\\"/opt/oai-lte-ru/bin/entrypoint.sh\\"]" ' if re.search('oai-physim', tag): cmd += ' --change "WORKDIR /opt/oai-physim" ' diff --git a/ci-scripts/oai-ci-vm-tool b/ci-scripts/oai-ci-vm-tool index 7fec088c1a959f1b69847454673bdb516d6acaf2..c6ea533fce2416080b6f9599c4bc75bfabd0afa1 100755 --- a/ci-scripts/oai-ci-vm-tool +++ b/ci-scripts/oai-ci-vm-tool @@ -279,7 +279,7 @@ function check_set_variant { if [ "$1" = "${VARIANTS_SHORT[$i]}" ] || [ "$1" = "${VARIANTS_LONG[$i]}" ] then VM_NAME=ci-${VARIANTS_LONG[$i]} - LOG_PATTERN=.$ASN1VER.txt + LOG_PATTERN=.txt ARCHIVES_LOC=${VARIANTS_LONG[$i]//"-"/"_"} VM_MEMORY=2048 VM_CPU=4 diff --git a/ci-scripts/reportBuildLocally.sh b/ci-scripts/reportBuildLocally.sh index 894eb85be1abcd1b81c01f017f726daa2ae59519..4e1630715f09e46a0897f8a06c9667bd88975cb2 100755 --- a/ci-scripts/reportBuildLocally.sh +++ b/ci-scripts/reportBuildLocally.sh @@ -538,46 +538,46 @@ function report_build { echo " <h2>Ubuntu 16.04 LTS -- Summary</h2>" >> ./build_results.html summary_table_header "OAI Build: 4G LTE eNB -- USRP option" ./archives/enb_eth - summary_table_row "LTE SoftModem - Release 15" ./archives/enb_eth/lte-softmodem.Rel15.txt "Built target lte-softmodem" ./enb_eth_row1.html - summary_table_row "Coding - Release 15" ./archives/enb_eth/coding.Rel15.txt "Built target coding" ./enb_eth_row2.html - summary_table_row "OAI ETHERNET transport - Release 15" ./archives/enb_eth/oai_eth_transpro.Rel15.txt "Built target oai_eth_transpro" ./enb_eth_row3.html - summary_table_row "Parameters Lib Config - Release 15" ./archives/enb_eth/params_libconfig.Rel15.txt "Built target params_libconfig" ./enb_eth_row4.html - summary_table_row "RF Simulator - Release 15" ./archives/enb_eth/rfsimulator.Rel15.txt "Built target rfsimulator" ./enb_eth_row5.html - summary_table_row "OAI USRP device if - Release 15" ./archives/enb_eth/oai_usrpdevif.Rel15.txt "Built target oai_usrpdevif" ./enb_eth_row7.html + summary_table_row "LTE SoftModem" ./archives/enb_eth/lte-softmodem.txt "Built target lte-softmodem" ./enb_eth_row1.html + summary_table_row "Coding" ./archives/enb_eth/coding.txt "Built target coding" ./enb_eth_row2.html + summary_table_row "OAI ETHERNET transport" ./archives/enb_eth/oai_eth_transpro.txt "Built target oai_eth_transpro" ./enb_eth_row3.html + summary_table_row "Parameters Lib Config" ./archives/enb_eth/params_libconfig.txt "Built target params_libconfig" ./enb_eth_row4.html + summary_table_row "RF Simulator" ./archives/enb_eth/rfsimulator.txt "Built target rfsimulator" ./enb_eth_row5.html + summary_table_row "OAI USRP device if" ./archives/enb_eth/oai_usrpdevif.txt "Built target oai_usrpdevif" ./enb_eth_row7.html summary_table_footer summary_table_header "OAI Build: 4G LTE UE -- USRP option" ./archives/ue_eth - summary_table_row "LTE UE SoftModem - Release 15" ./archives/ue_eth/lte-uesoftmodem.Rel15.txt "Built target lte-uesoftmodem" ./ue_eth_row1.html - summary_table_row "Coding - Release 15" ./archives/ue_eth/coding.Rel15.txt "Built target coding" ./ue_eth_row2.html - summary_table_row "OAI ETHERNET transport - Release 15" ./archives/ue_eth/oai_eth_transpro.Rel15.txt "Built target oai_eth_transpro" ./ue_eth_row3.html - summary_table_row "Parameters Lib Config - Release 15" ./archives/ue_eth/params_libconfig.Rel15.txt "Built target params_libconfig" ./ue_eth_row4.html - summary_table_row "RF Simulator - Release 15" ./archives/ue_eth/rfsimulator.Rel15.txt "Built target rfsimulator" ./ue_eth_row5.html - summary_table_row "Conf 2 UE Data - Release 15" ./archives/ue_eth/conf2uedata.Rel15.txt "Built target conf2uedata" ./ue_eth_row7.html - summary_table_row "NVRAM - Release 15" ./archives/ue_eth/nvram.Rel15.txt "Built target nvram" ./ue_eth_row8.html - summary_table_row "UE IP - Release 15" ./archives/ue_eth/ue_ip.Rel15.txt "Built target ue_ip" ./ue_eth_row9.html - summary_table_row "USIM - Release 15" ./archives/ue_eth/usim.Rel15.txt "Built target usim" ./ue_eth_row9a.html - summary_table_row "OAI USRP device if - Release 15" ./archives/ue_eth/oai_usrpdevif.Rel15.txt "Built target oai_usrpdevif" ./ue_eth_row9b.html + summary_table_row "LTE UE SoftModem" ./archives/ue_eth/lte-uesoftmodem.txt "Built target lte-uesoftmodem" ./ue_eth_row1.html + summary_table_row "Coding" ./archives/ue_eth/coding.txt "Built target coding" ./ue_eth_row2.html + summary_table_row "OAI ETHERNET transport" ./archives/ue_eth/oai_eth_transpro.txt "Built target oai_eth_transpro" ./ue_eth_row3.html + summary_table_row "Parameters Lib Config" ./archives/ue_eth/params_libconfig.txt "Built target params_libconfig" ./ue_eth_row4.html + summary_table_row "RF Simulator" ./archives/ue_eth/rfsimulator.txt "Built target rfsimulator" ./ue_eth_row5.html + summary_table_row "Conf 2 UE Data" ./archives/ue_eth/conf2uedata.txt "Built target conf2uedata" ./ue_eth_row7.html + summary_table_row "NVRAM" ./archives/ue_eth/nvram.txt "Built target nvram" ./ue_eth_row8.html + summary_table_row "UE IP" ./archives/ue_eth/ue_ip.txt "Built target ue_ip" ./ue_eth_row9.html + summary_table_row "USIM" ./archives/ue_eth/usim.txt "Built target usim" ./ue_eth_row9a.html + summary_table_row "OAI USRP device if" ./archives/ue_eth/oai_usrpdevif.txt "Built target oai_usrpdevif" ./ue_eth_row9b.html summary_table_footer - if [ -f archives/gnb_usrp/nr-softmodem.Rel15.txt ] + if [ -f archives/gnb_usrp/nr-softmodem.txt ] then summary_table_header "OAI Build: 5G NR gNB -- USRP option" ./archives/gnb_usrp - summary_table_row "5G NR SoftModem - Release 15" ./archives/gnb_usrp/nr-softmodem.Rel15.txt "Built target nr-softmodem" ./gnb_usrp_row1.html - summary_table_row "Coding - Release 15" ./archives/gnb_usrp/coding.Rel15.txt "Built target coding" ./gnb_usrp_row2.html - summary_table_row "OAI USRP device if - Release 15" ./archives/gnb_usrp/oai_usrpdevif.Rel15.txt "Built target oai_usrpdevif" ./gnb_usrp_row3.html - summary_table_row "OAI ETHERNET transport - Release 15" ./archives/gnb_usrp/oai_eth_transpro.Rel15.txt "Built target oai_eth_transpro" ./gnb_usrp_row4.html - summary_table_row "Parameters Lib Config - Release 15" ./archives/gnb_usrp/params_libconfig.Rel15.txt "Built target params_libconfig" ./gnb_usrp_row6.html + summary_table_row "5G NR SoftModem" ./archives/gnb_usrp/nr-softmodem.txt "Built target nr-softmodem" ./gnb_usrp_row1.html + summary_table_row "Coding" ./archives/gnb_usrp/coding.txt "Built target coding" ./gnb_usrp_row2.html + summary_table_row "OAI USRP device if" ./archives/gnb_usrp/oai_usrpdevif.txt "Built target oai_usrpdevif" ./gnb_usrp_row3.html + summary_table_row "OAI ETHERNET transport" ./archives/gnb_usrp/oai_eth_transpro.txt "Built target oai_eth_transpro" ./gnb_usrp_row4.html + summary_table_row "Parameters Lib Config" ./archives/gnb_usrp/params_libconfig.txt "Built target params_libconfig" ./gnb_usrp_row6.html summary_table_footer fi - if [ -f archives/nr_ue_usrp/nr-uesoftmodem.Rel15.txt ] + if [ -f archives/nr_ue_usrp/nr-uesoftmodem.txt ] then summary_table_header "OAI Build: 5G NR UE -- USRP option" ./archives/nr_ue_usrp - summary_table_row "5G NR UE SoftModem - Release 15" ./archives/nr_ue_usrp/nr-uesoftmodem.Rel15.txt "Built target nr-uesoftmodem" ./nr_ue_usrp_row1.html - summary_table_row "Coding - Release 15" ./archives/nr_ue_usrp/coding.Rel15.txt "Built target coding" ./nr_ue_usrp_row2.html - summary_table_row "OAI USRP device if - Release 15" ./archives/nr_ue_usrp/oai_usrpdevif.Rel15.txt "Built target oai_usrpdevif" ./nr_ue_usrp_row3.html - summary_table_row "OAI ETHERNET transport - Release 15" ./archives/nr_ue_usrp/oai_eth_transpro.Rel15.txt "Built target oai_eth_transpro" ./nr_ue_usrp_row4.html - summary_table_row "Parameters Lib Config - Release 15" ./archives/nr_ue_usrp/params_libconfig.Rel15.txt "Built target params_libconfig" ./nr_ue_usrp_row6.html + summary_table_row "5G NR UE SoftModem" ./archives/nr_ue_usrp/nr-uesoftmodem.txt "Built target nr-uesoftmodem" ./nr_ue_usrp_row1.html + summary_table_row "Coding" ./archives/nr_ue_usrp/coding.txt "Built target coding" ./nr_ue_usrp_row2.html + summary_table_row "OAI USRP device if" ./archives/nr_ue_usrp/oai_usrpdevif.txt "Built target oai_usrpdevif" ./nr_ue_usrp_row3.html + summary_table_row "OAI ETHERNET transport" ./archives/nr_ue_usrp/oai_eth_transpro.txt "Built target oai_eth_transpro" ./nr_ue_usrp_row4.html + summary_table_row "Parameters Lib Config" ./archives/nr_ue_usrp/params_libconfig.txt "Built target params_libconfig" ./nr_ue_usrp_row6.html summary_table_footer fi @@ -586,10 +586,10 @@ function report_build { echo " <h2>Red Hat Enterprise Linux Server release 7.6) -- Summary</h2>" >> ./build_results.html summary_table_header "OAI Build: 4G LTE eNB -- USRP option (RHEL)" ./archives/red_hat - summary_table_row "LTE SoftModem - Release 15" ./archives/red_hat/lte-softmodem.Rel15.txt "Built target lte-softmodem" ./enb_usrp_rh_row1.html - summary_table_row "Coding - Release 15" ./archives/red_hat/coding.Rel15.txt "Built target coding" ./enb_usrp_rh_row2.html - summary_table_row "OAI USRP device if - Release 15" ./archives/red_hat/oai_usrpdevif.Rel15.txt "Built target oai_usrpdevif" ./enb_usrp_rh_row3.html - summary_table_row "Parameters Lib Config - Release 15" ./archives/red_hat/params_libconfig.Rel15.txt "Built target params_libconfig" ./enb_usrp_rh_row4.html + summary_table_row "LTE SoftModem" ./archives/red_hat/lte-softmodem.txt "Built target lte-softmodem" ./enb_usrp_rh_row1.html + summary_table_row "Coding" ./archives/red_hat/coding.txt "Built target coding" ./enb_usrp_rh_row2.html + summary_table_row "OAI USRP device if" ./archives/red_hat/oai_usrpdevif.txt "Built target oai_usrpdevif" ./enb_usrp_rh_row3.html + summary_table_row "Parameters Lib Config" ./archives/red_hat/params_libconfig.txt "Built target params_libconfig" ./enb_usrp_rh_row4.html summary_table_footer fi diff --git a/ci-scripts/runTestOnVM.sh b/ci-scripts/runTestOnVM.sh index b596680eb3fb34d5c3e5360f947d340916412109..134f87e0f0d7f3194584ddf1ec3375c33ee3834e 100755 --- a/ci-scripts/runTestOnVM.sh +++ b/ci-scripts/runTestOnVM.sh @@ -712,11 +712,11 @@ function add_ue_l2_sim_ue { echo "sudo rm -f *.u*" >> $1 if [ $LOC_NB_UES -eq 1 ] then - echo "echo \"sudo ../../../targets/bin/conf2uedata -c ../../../openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf -o .\"" >> $1 - echo "sudo ../../../targets/bin/conf2uedata -c ../../../openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf -o . > /home/ubuntu/tmp/cmake_targets/log/ue_adapt.txt 2>&1" >> $1 + echo "echo \"sudo ../../nas_sim_tools/build/conf2uedata -c ../../../openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf -o .\"" >> $1 + echo "sudo ../../nas_sim_tools/build/conf2uedata -c ../../../openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf -o . > /home/ubuntu/tmp/cmake_targets/log/ue_adapt.txt 2>&1" >> $1 else - echo "echo \"sudo ../../../targets/bin/conf2uedata -c ../../../openair3/NAS/TOOLS/ue_eurecom_test_sfr_multi_ues.conf -o .\"" >> $1 - echo "sudo ../../../targets/bin/conf2uedata -c ../../../openair3/NAS/TOOLS/ue_eurecom_test_sfr_multi_ues.conf -o . > /home/ubuntu/tmp/cmake_targets/log/ue_adapt.txt 2>&1" >> $1 + echo "echo \"sudo ../../nas_sim_tools/build/conf2uedata -c ../../../openair3/NAS/TOOLS/ue_eurecom_test_sfr_multi_ues.conf -o .\"" >> $1 + echo "sudo ../../nas_sim_tools/build/conf2uedata -c ../../../openair3/NAS/TOOLS/ue_eurecom_test_sfr_multi_ues.conf -o . > /home/ubuntu/tmp/cmake_targets/log/ue_adapt.txt 2>&1" >> $1 fi ssh -T -o StrictHostKeyChecking=no ubuntu@$LOC_UE_VM_IP_ADDR < $1 @@ -969,6 +969,8 @@ function start_rf_sim_ue { echo "echo \"cd /home/ubuntu/tmp/cmake_targets/ran_build/build/\"" >> $1 echo "sudo chmod 777 /home/ubuntu/tmp/cmake_targets/ran_build/build/" >> $1 echo "cd /home/ubuntu/tmp/cmake_targets/ran_build/build/" >> $1 + echo "echo \"sudo ../../nas_sim_tools/build/conf2uedata -c ../../../openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf -o .\"" >> $1 + echo "sudo ../../nas_sim_tools/build/conf2uedata -c ../../../openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf -o ." >> $1 if [ $LOC_S1_CONFIGURATION -eq 0 ] then echo "echo \"ulimit -c unlimited && ./lte-uesoftmodem -C ${LOC_FREQUENCY}000000 -r $LOC_PRB --ue-rxgain 140 --ue-txgain 120 --nokrnmod 1 --rfsim --log_config.global_log_options level,nocolor,time --noS1\" > ./my-lte-softmodem-run.sh " >> $1 diff --git a/ci-scripts/sshconnection.py b/ci-scripts/sshconnection.py index 035da71426aa4a20b6d0bf5efc87fdbbdfacd229..0946ce0f34a143ad1e7b5f7178585cfdc8058ab4 100644 --- a/ci-scripts/sshconnection.py +++ b/ci-scripts/sshconnection.py @@ -193,9 +193,9 @@ class SSHConnection(): def copyin(self, ipaddress, username, password, source, destination): count = 0 copy_status = False - logging.debug('scp '+ username + '@' + ipaddress + ':' + source + ' ' + destination) + logging.debug('scp -r '+ username + '@' + ipaddress + ':' + source + ' ' + destination) while count < 10: - scp_spawn = pexpect.spawn('scp '+ username + '@' + ipaddress + ':' + source + ' ' + destination, timeout = 100) + scp_spawn = pexpect.spawn('scp -r '+ username + '@' + ipaddress + ':' + source + ' ' + destination, timeout = 100) scp_response = scp_spawn.expect(['Are you sure you want to continue connecting (yes/no)?', 'password:', pexpect.EOF, pexpect.TIMEOUT]) if scp_response == 0: scp_spawn.sendline('yes') @@ -232,9 +232,9 @@ class SSHConnection(): def copyout(self, ipaddress, username, password, source, destination): count = 0 copy_status = False - logging.debug('scp ' + source + ' ' + username + '@' + ipaddress + ':' + destination) + logging.debug('scp -r ' + source + ' ' + username + '@' + ipaddress + ':' + destination) while count < 4: - scp_spawn = pexpect.spawn('scp ' + source + ' ' + username + '@' + ipaddress + ':' + destination, timeout = 100) + scp_spawn = pexpect.spawn('scp -r ' + source + ' ' + username + '@' + ipaddress + ':' + destination, timeout = 100) scp_response = scp_spawn.expect(['Are you sure you want to continue connecting (yes/no)?', 'password:', pexpect.EOF, pexpect.TIMEOUT]) if scp_response == 0: scp_spawn.sendline('yes') diff --git a/ci-scripts/waitBuildOnVM.sh b/ci-scripts/waitBuildOnVM.sh index 73a8b558fe506adc291e1ca4f3fd90ec6af38d17..f7d9c8849d4ce59a1c212b986f829a3f0782af84 100755 --- a/ci-scripts/waitBuildOnVM.sh +++ b/ci-scripts/waitBuildOnVM.sh @@ -143,6 +143,8 @@ function check_on_vm_build { else LOG_FILES=`ls $ARCHIVES_LOC/*.txt` fi + echo "LOG_FILES=$LOG_FILES" + echo "expecting NB_PATTERN_FILES=$NB_PATTERN_FILES" STATUS=0 NB_FOUND_FILES=0 @@ -151,7 +153,7 @@ function check_on_vm_build { if [[ $FULLFILE == *"$LOG_PATTERN"* ]] then filename=$(basename -- "$FULLFILE") - if [ "$LOG_PATTERN" == ".Rel15.txt" ] + if [ "$LOG_PATTERN" == ".txt" ] then PASS_PATTERN=`echo $filename | sed -e "s#$LOG_PATTERN##"` fi @@ -162,8 +164,11 @@ function check_on_vm_build { else LOCAL_STAT=`egrep -c "Built target $PASS_PATTERN" $FULLFILE` fi - if [ $LOCAL_STAT -eq 0 ]; then STATUS=-1; fi - NB_FOUND_FILES=$((NB_FOUND_FILES + 1)) + if [ $LOCAL_STAT -eq 0 ]; then + echo "WARNING: file $filename does not contain pass pattern" + else + NB_FOUND_FILES=$((NB_FOUND_FILES + 1)) + fi fi done diff --git a/ci-scripts/yaml_files/5g_rfsimulator/docker-compose.yaml b/ci-scripts/yaml_files/5g_rfsimulator/docker-compose.yaml index 183d184977a2cfa7a61659cbbfc6f288976b150e..107ec626e281e23bd842d721117aed05b748fd03 100644 --- a/ci-scripts/yaml_files/5g_rfsimulator/docker-compose.yaml +++ b/ci-scripts/yaml_files/5g_rfsimulator/docker-compose.yaml @@ -248,6 +248,7 @@ services: GNB_NGA_IP_ADDRESS: 192.168.71.140 GNB_NGU_IF_NAME: eth0 GNB_NGU_IP_ADDRESS: 192.168.71.140 + SDR_ADDRS: serial=XXXXXXX USE_ADDITIONAL_OPTIONS: --sa -E --rfsim --log_config.global_log_options level,nocolor,time depends_on: - oai-ext-dn diff --git a/cmake_targets/at_commands/CMakeLists.txt b/cmake_targets/at_commands/CMakeLists.txt index dc91f3c31c99a5683be3404a0950b4f5b8a0b591..a8f5932045ccf0f883ef4c29c4570b648f2e5e89 100755 --- a/cmake_targets/at_commands/CMakeLists.txt +++ b/cmake_targets/at_commands/CMakeLists.txt @@ -46,7 +46,6 @@ set(OPENAIR3_DIR ${OPENAIR_DIR}/openair3) set(OPENAIR3_DIR ${OPENAIR_DIR}/openair3) set(OPENAIR_TARGETS ${OPENAIR_DIR}/targets) set(OPENAIR_CMAKE_SCRIPTS ${OPENAIR_DIR}/cmake_targets/tools) -set(OPENAIR_BIN_DIR ${OPENAIR_DIR}/targets/bin) set(OPENAIR_NAS_DIR ${OPENAIR_DIR}/openair3/NAS) diff --git a/cmake_targets/autotests/README.txt b/cmake_targets/autotests/README.txt index 19a333c6265251537ae25d33a2c228b605697593..67d3cf9ba2783408450283bef327a3554362a09e 100755 --- a/cmake_targets/autotests/README.txt +++ b/cmake_targets/autotests/README.txt @@ -1,82 +1,6 @@ OAI Test PLAN -Obj.# Case# Test# Description - -01 pre-commit test case -01 01 Build OAI -01 01 01 Build oaisim.Rel8 -01 01 02 Build oaisim.Rel10 -01 01 03 Build oaisim_noS1.Rel10 -01 01 10 Build lte-softmodem_noS1.USRP.Rel10 -01 01 11 Build lte-softmodem_noS1.EXMIMO.Rel10 -01 01 12 Build lte-softmodem_noS1.BLADERF.Rel10 -01 01 13 Build lte-softmodem_noS1.ETHERNET.Rel10 -01 01 14 Build lte-softmodem_noS1.LMSSDR.Rel10 -01 01 20 Build lte-softmodem.USRP.Rel10 -01 01 21 Build lte-softmodem.EXMIMO.Rel10 -01 01 22 Build lte-softmodem.BLADERF.Rel10 -01 01 23 Build lte-softmodem.ETHERNET.Rel10 (RCC) -01 01 24 Build lte-softmodem.LMSSDR.Rel10 - -01 01 30 Build (dlsim.Rel10 + ulsim.Rel10 + pucchsim.Rel10 + prachsim.Rel10 + pdcchsim.Rel10 + pbchsim.Rel10 + mbmssim.Rel10 - secu_knas_encrypt_eia1.Rel10 secu_kenb.Rel10 aes128_ctr_encrypt.Rel10 aes128_ctr_decrypt.Rel10 secu_knas_encrypt_eea2.Rel10 - secu_knas.Rel10 secu_knas_encrypt_eea1.Rel10 kdf.Rel10 aes128_cmac_encrypt.Rel10 secu_knas_encrypt_eia2.Rel10) - -01 01 40 Build RRH Gateway (time domain) for USRP (Rel 10) -01 01 41 Build RRH Gateway (time domain) for EXMIMO (Rel 10) -01 01 42 Build RRH Gateway (time domain) for BLADERF (Rel 10) -01 01 43 Build RRH Gateway (time domain) for LMSSDR (Rel 10) - -01 01 50 Build RRU (NGFI) for USRP (Rel 10) w/ ETHERNET transport -01 01 51 Build RRU (NGFI) for EXMIMO (Rel 10) w/ ETHERNET transport -01 01 52 Build RRU (NGFI) for BLADERF (Rel 10) w/ ETHERNET transport -01 01 53 Build RRU (NGFI) for LMSSDR (Rel 10) w/ ETHERNET transport - - -01 02 Run OAISIM-NOS1 Rel10 (TDD + 5MHz/10MHz/20MHz + TM 1,2), and check the operation -01 02 00 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) and search for errors, segmentation fault or exit -01 02 01 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) in PHY_ABSTRACTION mode and search for errors -01 02 02 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2) and search for errors, segmentation fault or exit -01 02 03 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2) in PHY_ABSTRACTION mode and search for errors -01 02 04 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) without PHY_ABSTRACTION mode, ping from from eNB to UE, - and for check for no packet losses -01 02 05 Run OAISIM-NOS1 Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) in PHY_ABSTRACTION mode, send ping from from eNB to UE, - and check for no packet losses - -01 03 Run OAISIM-NOS1 Rel10 (FDD + 5MHz/10MHz/20MHz + TM 1,2), and check the operation -01 03 00 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 1 UE 1 eNB (5 MHz/10MHz/20MHz), (TM 1,2) and search for errors, segmentation fault or exit -01 03 01 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) in PHY_ABSTRACTION mode and search for errors -01 03 02 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2) and search for errors, segmentation fault or exit -01 03 03 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2) in PHY_ABSTRACTION mode and search for errors -01 03 04 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) without PHY_ABSTRACTION mode, ping from from eNB to UE, - and for check for no packet losses -01 03 05 Run OAISIM-NOS1 Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) in PHY_ABSTRACTION mode, send ping from from eNB to UE, - and check for no packet losses - - - -01 04 OAISIM-NOS1 MBSFN Tests -01 04 00 Check if eMBMS procedure is not finished completely, make sure that the SIB13/MCCH have been correclty received by UEs -01 04 01 Check if eMBMS multicast/broadcast data is received, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs -01 04 02 Check for eMBMS multicast/broadcast data received in fdd mode, make sure that the SIB13/MCCH/MTCH have been correctly - received by UEs -01 04 03 Check for eMBMS multicast/broadcast DF relaying working properly in fdd mode, make sure that the SIB13/MCCH/MTCH have been - correclty received by UEs - - -01 50 Run PHY unitary secuirity tests -01 50 00 test_aes128_cmac_encrypt -01 50 01 test_aes128_ctr_decrypt -01 50 02 test_aes128_ctr_encrypt -01 50 03 test_secu_kenb -01 50 04 test_secu_knas -01 50 05 test_secu_knas_encrypt_eea1 -01 50 06 test_secu_knas_encrypt_eea2 -01 50 07 test_secu_knas_encrypt_eia1 -01 50 08 test_secu_knas_encrypt_eia2 -01 50 09 test_kdf - - +Obj.# Case# Test# Description 01 51 Run PHY simulator tests 01 51 00 dlsim test cases (Test 1: 10 MHz, R2.FDD (MCS 5), EVA5, -1dB), @@ -88,8 +12,8 @@ Obj.# Case# Test# Description (Test 10: 5 MHz, R6.FDD (MCS 25), EVA5, 17.4 dB (70%)), (Test 10b: 5 MHz, R6-1.FDD (MCS 24,18 PRB), EVA5, 17.5dB (70%)), (Test 11: 10 MHz, R7.FDD (MCS 25), EVA5, 17.7dB (70%)) - (TM2 Test 1 10 MHz, R.11 FDD (MCS 14), EVA5, 6.8 dB (70%)), - (TM2 Test 1b 20 MHz, R.11-2 FDD (MCS 13), EVA5, 5.9 dB (70%)), + (TM2 Test 1 10 MHz, R.11 FDD (MCS 14), EVA5, 6.8 dB (70%)), + (TM2 Test 1b 20 MHz, R.11-2 FDD (MCS 13), EVA5, 5.9 dB (70%)), 01 51 01 ulsim Test cases. (Test 1, 5 MHz, FDD (MCS 5), AWGN, 6dB), (Test 2, 5 MHz, FDD (MCS 16), AWGN , 12dB (70%)), (Test 3, 10 MHz, R3.FDD (MCS 5), AWGN, 6dB (70%)), @@ -150,235 +74,3 @@ Obj.# Case# Test# Description 01 51 12 nr_prachsim Test cases.(Test1: 106 PRBs), (Test2: 217 PRBs), (Test3: 273 PRBs) - - - -01 55 lte-softmodem tests with USRP B210 RF as eNB and ALU EPC w/ Bandrich COTS UE for 1TX/1RX (TM1), 2TX/2RX (TM2) -01 55 00 Band 7 FDD 5MHz UL Throughput (UDP) for 300 sec for 1TX/1RX -01 55 01 Band 7 FDD 10MHz UL Throughput (UDP) for 300 sec for 1TX/1RX -01 55 02 Band 7 FDD 20MHz UL Throughput (UDP) for 300 sec for 1TX/1RX -01 55 03 Band 7 FDD 5MHz DL Throughput (UDP) for 300 sec for 1TX/1RX -01 55 04 Band 7 FDD 10MHz DL Throughput (UDP) for 300 sec for 1TX/1RX -01 55 05 Band 7 FDD 20MHz DL Throughput (UDP) for 300 sec for 1TX/1RX -01 55 06 Band 7 FDD 5MHz UL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -01 55 07 Band 7 FDD 10MHz UL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -01 55 08 Band 7 FDD 20MHz UL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -01 55 09 Band 7 FDD 5MHz DL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -01 55 10 Band 7 FDD 10MHz DL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -01 55 11 Band 7 FDD 20MHz DL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -01 55 12 Band 7 FDD 5MHz UL Throughput (TCP) for 300 sec for 1TX/1RX -01 55 13 Band 7 FDD 10MHz UL Throughput (TCP) for 300 sec for 1TX/1RX -01 55 14 Band 7 FDD 20MHz UL Throughput (TCP) for 300 sec for 1TX/1RX -01 55 15 Band 7 FDD 5MHz DL Throughput (TCP) for 300 sec for 1TX/1RX -01 55 16 Band 7 FDD 10MHz DL Throughput (TCP) for 300 sec for 1TX/1RX -01 55 17 Band 7 FDD 20MHz DL Throughput (TCP) for 300 sec for 1TX/1RX -01 55 18 Band 7 FDD 5MHz UL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) -01 55 19 Band 7 FDD 10MHz UL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) -01 55 20 Band 7 FDD 20MHz UL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) -01 55 21 Band 7 FDD 5MHz DL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) -01 55 22 Band 7 FDD 10MHz DL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) -01 55 23 Band 7 FDD 20MHz DL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) - -01 56 lte-softmodem tests with USRP B210 RF as eNB and OAI EPC (eNB and EPC are on same machines) w/ Bandrich COTS UE -01 56 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX -01 56 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX -01 56 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX -01 56 03 Band 7 FDD 5MHz DL Throughput for 300 sec for 1TX/1RX -01 56 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX -01 56 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX - -01 57 lte-softmodem tests with USRP B210 RF as eNB and OAI EPC (eNB and EPC are on different machines) w/ Bandrich COTS UE -01 57 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX -01 57 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX -01 57 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX -01 57 03 Band 7 FDD 5MHz DL Throughput for 300 sec for 1TX/1RX -01 57 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX -01 57 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX - -01 58 lte-softmodem tests with USRP X310 RF as eNB and ALU EPC w/ Bandrich COTS UE for 1TX/1RX (TM1), 2TX/2RX(TM2) -01 58 00 Band 7 FDD 5MHz UL Throughput (UDP) for 300 sec for 1TX/1RX -01 58 01 Band 7 FDD 10MHz UL Throughput (UDP) for 300 sec for 1TX/1RX -01 58 02 Band 7 FDD 20MHz UL Throughput (UDP) for 300 sec for 1TX/1RX -01 58 03 Band 7 FDD 5MHz DL Throughput (UDP) for 300 sec for 1TX/1RX -01 58 04 Band 7 FDD 10MHz DL Throughput (UDP) for 300 sec for 1TX/1RX -01 58 05 Band 7 FDD 20MHz DL Throughput (UDP) for 300 sec for 1TX/1RX -01 58 06 Band 7 FDD 5MHz UL Throughput (TCP) for 300 sec for 1TX/1RX -01 58 07 Band 7 FDD 10MHz UL Throughput (TCP) for 300 sec for 1TX/1RX -01 58 08 Band 7 FDD 20MHz UL Throughput (TCP) for 300 sec for 1TX/1RX -01 58 09 Band 7 FDD 5MHz DL Throughput (TCP) for 300 sec for 1TX/1RX -01 58 10 Band 7 FDD 10MHz DL Throughput (TCP) for 300 sec for 1TX/1RX -01 58 11 Band 7 FDD 20MHz DL Throughput (TCP) for 300 sec for 1TX/1RX -01 58 12 Band 7 FDD 5MHz UL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -01 58 13 Band 7 FDD 10MHz UL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -01 58 14 Band 7 FDD 20MHz UL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -01 58 15 Band 7 FDD 5MHz DL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -01 58 16 Band 7 FDD 10MHz DL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -01 58 17 Band 7 FDD 20MHz DL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -01 58 18 Band 7 FDD 5MHz UL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) -01 58 19 Band 7 FDD 10MHz UL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) -01 58 20 Band 7 FDD 20MHz UL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) -01 58 21 Band 7 FDD 5MHz DL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) -01 58 22 Band 7 FDD 10MHz DL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) -01 58 23 Band 7 FDD 20MHz DL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) - - -01 59 lte-softmodem tests with USRP X310 RF as eNB and OAI EPC (eNB and EPC are on same machines) w/ Bandrich COTS UE - -01 60 lte-softmodem tests with USRP X310 RF as eNB and OAI EPC (eNB and EPC are on different machines) w/ Bandrich COTS UE -01 60 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX -01 60 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX -01 60 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX -01 60 03 Band 7 FDD 5MHz DL Throughput for 300 sec for 1TX/1RX -01 60 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX -01 60 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX - -01 61 lte-softmodem tests with EXMIMO RF as eNB and ALU EPC w/ Bandrich COTS UE for 1TX/1RX, 2TX/2RX -01 61 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX -01 61 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX -01 61 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX -01 61 03 Band 7 FDD 5MHz DL Throughput for 300 sec for 1TX/1RX -01 61 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX -01 61 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX - -01 62 lte-softmodem tests with EXMIMO RF as eNB and OAI EPC (eNB and EPC are on same machines) w/ Bandrich COTS UE - -01 63 lte-softmodem tests with EXMIMO RF as eNB and OAI EPC (eNB and EPC are on different machines) w/ Bandrich COTS UE -01 63 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX -01 63 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX -01 63 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX -01 63 03 Band 7 FDD 5MHz DL Throughput for 300 sec for 1TX/1RX -01 63 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX -01 63 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX - -01 65 lte-softmodem tests with BladeRF RF as eNB and ALU EPC w/ Bandrich COTS UE for 1TX/1RX -01 65 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX -01 65 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX -01 65 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX -01 65 03 Band 7 FDD 5MHz DL Throughput for 300 sec for 1TX/1RX -01 65 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX -01 65 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX - - -01 70 lte-softmodem tests with SoDeRa RF as eNB and ALU EPC w/ Bandrich COTS UE for TX/1RX -01 70 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX -01 70 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX -01 70 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX -01 70 03 Band 7 FDD 5MHz DL Throughput for 300 sec for 1TX/1RX -01 70 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX -01 70 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX - - -01 75 lte-softmodem + RRU (NGFI IF4P5, RAW) tests with B210 RF as eNB and ALU EPC w/ Bandrich COTS UE for TX/1RX -01 75 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX -01 75 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX -01 75 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX -01 75 03 Band 7 FDD 5MHz DL Throughput for 300 sec for 1TX/1RX -01 75 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX -01 75 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX - -01 76 lte-softmodem + RRU (NGFI IF4P5, UDP) tests with B210 RF as eNB and ALU EPC w/ Bandrich COTS UE for TX/1RX -01 76 00 Band 7 FDD 5MHz UL Throughput (UDP) for 300 sec for 1TX/1RX -01 76 01 Band 7 FDD 10MHz UL Throughput (UDP) for 300 sec for 1TX/1RX -01 76 02 Band 7 FDD 20MHz UL Throughput (UDP) for 300 sec for 1TX/1RX -01 76 03 Band 7 FDD 5MHz DL Throughput (UDP) for 300 sec for 1TX/1RX -01 76 04 Band 7 FDD 10MHz DL Throughput (UDP) for 300 sec for 1TX/1RX -01 76 05 Band 7 FDD 20MHz DL Throughput (UDP) for 300 sec for 1TX/1RX -01 76 06 Band 7 FDD 5MHz UL Throughput (TCP) for 300 sec for 1TX/1RX -01 76 07 Band 7 FDD 10MHz UL Throughput (TCP) for 300 sec for 1TX/1RX -01 76 08 Band 7 FDD 20MHz UL Throughput (TCP) for 300 sec for 1TX/1RX -01 76 09 Band 7 FDD 5MHz DL Throughput (TCP) for 300 sec for 1TX/1RX -01 76 10 Band 7 FDD 10MHz DL Throughput (TCP) for 300 sec for 1TX/1RX -01 76 11 Band 7 FDD 20MHz DL Throughput (TCP) for 300 sec for 1TX/1RX - -01 80 lte-softmodem + RRU (NGFI) tests with BladeRF RF as eNB and ALU EPC w/ Bandrich COTS UE for TX/1RX -01 80 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX -01 80 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX -01 80 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX -01 80 03 Band 7 FDD 5MHz DL Throughput for 300 sec for 1TX/1RX -01 80 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX -01 80 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX - -01 85 lte-softmodem + RRU (NGFI) tests with USRP X310 RF as eNB and ALU EPC w/ Bandrich COTS UE for TX/1RX -01 85 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX -01 85 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX -01 85 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX -01 85 03 Band 7 FDD 5MHz DL Throughput for 300 sec for 1TX/1RX -01 85 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX -01 85 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX - -01 86 lte-softmodem tests with USRP B210 RF as eNB and ALU EPC w/ Huawei e3276 COTS UE for 1TX/1RX (TM1), 2TX/2RX (TM2) -01 86 00 Band 38 TDD 5MHz UL Throughput (UDP) for 300 sec for 1TX/1RX -01 86 01 Band 38 TDD 10MHz UL Throughput (UDP) for 300 sec for 1TX/1RX -01 86 02 Band 38 TDD 20MHz UL Throughput (UDP) for 300 sec for 1TX/1RX -01 86 03 Band 38 TDD 5MHz DL Throughput (UDP) for 300 sec for 1TX/1RX -01 86 04 Band 38 TDD 10MHz DL Throughput (UDP) for 300 sec for 1TX/1RX -01 86 05 Band 38 TDD 20MHz DL Throughput (UDP) for 300 sec for 1TX/1RX -01 86 06 Band 38 TDD 5MHz UL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -01 86 07 Band 38 TDD 10MHz UL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -01 86 08 Band 38 TDD 20MHz UL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -01 86 09 Band 38 TDD 5MHz DL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -01 86 10 Band 38 TDD 10MHz DL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -01 86 11 Band 38 TDD 20MHz DL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -01 86 12 Band 38 TDD 5MHz UL Throughput (TCP) for 300 sec for 1TX/1RX -01 86 13 Band 38 TDD 10MHz UL Throughput (TCP) for 300 sec for 1TX/1RX -01 86 14 Band 38 TDD 20MHz UL Throughput (TCP) for 300 sec for 1TX/1RX -01 86 15 Band 38 TDD 5MHz DL Throughput (TCP) for 300 sec for 1TX/1RX -01 86 16 Band 38 TDD 10MHz DL Throughput (TCP) for 300 sec for 1TX/1RX -01 86 17 Band 38 TDD 20MHz DL Throughput (TCP) for 300 sec for 1TX/1RX -01 86 18 Band 38 TDD 5MHz UL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) -01 86 19 Band 38 TDD 10MHz UL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) -01 86 20 Band 38 TDD 20MHz UL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) -01 86 21 Band 38 TDD 5MHz DL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) -01 86 22 Band 38 TDD 10MHz DL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) -01 86 23 Band 38 TDD 20MHz DL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) - -02 55 lte-softmodem tests with USRP B210 RF as eNB and ALU EPC w/ Sony Experia M4 COTS UE for 1TX/1RX and 2TX/2RX (TM2) -02 55 00 Band 7 FDD 5MHz UL Throughput (UDP) for 300 sec for 1TX/1RX -02 55 01 Band 7 FDD 10MHz UL Throughput (UDP) for 300 sec for 1TX/1RX -02 55 02 Band 7 FDD 20MHz UL Throughput (UDP) for 300 sec for 1TX/1RX -02 55 03 Band 7 FDD 5MHz DL Throughput (UDP) for 300 sec for 1TX/1RX -02 55 04 Band 7 FDD 10MHz DL Throughput (UDP) for 300 sec for 1TX/1RX -02 55 05 Band 7 FDD 20MHz DL Throughput (UDP) for 300 sec for 1TX/1RX -02 55 06 Band 7 FDD 5MHz UL Throughput (TCP) for 300 sec for 1TX/1RX -02 55 07 Band 7 FDD 10MHz UL Throughput (TCP) for 300 sec for 1TX/1RX -02 55 08 Band 7 FDD 20MHz UL Throughput (TCP) for 300 sec for 1TX/1RX -02 55 09 Band 7 FDD 5MHz DL Throughput (TCP) for 300 sec for 1TX/1RX -02 55 10 Band 7 FDD 10MHz DL Throughput (TCP) for 300 sec for 1TX/1RX -02 55 11 Band 7 FDD 20MHz DL Throughput (TCP) for 300 sec for 1TX/1RX -02 55 12 Band 7 FDD 5MHz UL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -02 55 13 Band 7 FDD 10MHz UL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -02 55 14 Band 7 FDD 20MHz UL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -02 55 15 Band 7 FDD 5MHz DL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -02 55 16 Band 7 FDD 10MHz DL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -02 55 17 Band 7 FDD 20MHz DL Throughput (UDP) for 300 sec for 2TX/2RX (TM2) -02 55 18 Band 7 FDD 5MHz UL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) -02 55 19 Band 7 FDD 10MHz UL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) -02 55 20 Band 7 FDD 20MHz UL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) -02 55 21 Band 7 FDD 5MHz DL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) -02 55 22 Band 7 FDD 10MHz DL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) -02 55 23 Band 7 FDD 20MHz DL Throughput (TCP) for 300 sec for 2TX/2RX (TM2) - -02 57 lte-softmodem tests with USRP B210 RF as eNB and OAI EPC (eNB and EPC are on different machines) w/ OAI UE -02 57 00 Band 7 FDD 5MHz UL Throughput for 300 sec for 1TX/1RX -02 57 01 Band 7 FDD 10MHz UL Throughput for 300 sec for 1TX/1RX -02 57 02 Band 7 FDD 20MHz UL Throughput for 300 sec for 1TX/1RX -02 57 03 Band 7 FDD 5MHz DL Throughput for 300 sec for 1TX/1RX -02 57 04 Band 7 FDD 10MHz DL Throughput for 300 sec for 1TX/1RX -02 57 05 Band 7 FDD 20MHz DL Throughput for 300 sec for 1TX/1RX - - -01 64 lte-softmodem-noS1 tests - -02 Functional test case - -03 Autotests specific to OAI UE - -04 Failure test case - -05 Performance test case - - -#TODO: Add test cases for 10,20 MHz -#TODO: Add test cases for TDD/FDD -#TODO: Test and compile seperately for Rel8/Rel10 -#TODO: Case03.py eMBMS test case diff --git a/cmake_targets/autotests/core.py b/cmake_targets/autotests/core.py deleted file mode 100755 index 09785df1203c9bf8829a5e0a786fb755ea0033ef..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/core.py +++ /dev/null @@ -1,343 +0,0 @@ -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \file core.py -# \brief OAI core testing class that provides various primitives to send/recv cmd to openair class searching for patterns and process the responses and tag the test case as passed/failed/skipped -# \author Navid Nikaein -# \date 2013 -# \version 0.1 -# @ingroup _test - - -import pexpect -import time -import re -import string -import sys -import os - -import openair -import log - -class core: - def __init__(self): - self.send_cr = 1 - self.expect_echo = 0 - self.expect_response = 1 - self.flag_errors = 1 - self.log = None - - def clean(self, obj): - if type(obj) is str: - return obj - else: - return repr(obj) - - def mark(self, marker): - if self.log: - print >> self.log, "\n\n{" + marker + "}\n\n" - - def expected(self, expected, got): - return "================================= Failure ===================================\n"+\ - "_________________________________ Expected __________________________________\n"+\ - "--->" + expected + "<-\n" +\ - "_________________________________ Received __________________________________\n"+\ - "--->" + got + "<-\n" +\ - "=============================================================================\n" - - def unexpected(self, notexpected, got): - return "================================= Failure ===================================\n"+\ - "__________________________ not expect to find _______________________________\n"+\ - "---> " + self.clean(notexpected) + "\n" +\ - "_________________________________ Received___________________________________\n"+\ - "---> " + self.clean(got) + "\n" +\ - "=============================================================================\n" - - def failed(self, command, expect,debug): - time.sleep(2) - ret = "================================= Failure =================================\n" - ret +="_________________________________ Sent ____________________________________\n" - ret +="---> " + command + "\n" - ret +="______________________________Searching for _______________________________\n" - ret +="---> " + self.clean(expect) + "\n" - if debug >= 1 : - ret +="________________________________ Received _________________________________\n" - ret +="---> " + self.clean(self.oai.before) + "\n" - ret +="_______________________________ Remaining _________________________________\n" - ret +="---> " + self.clean(self.oai.after) + "\n" - ret +="===========================================================================\n" - return ret - - def err(self, command): - return "============================ Error received ================================\n"+\ - "__________________________________ Sent ____________________________________\n"+\ - '---> ' + command + "\n"+\ - "_________________________________ Error was ________________________________\n"+\ - "---> " + self.oai.before + "\n" +\ - "============================================================================\n" - - - def wait_quiet(self, timeout=0.5): - while 1: - try: - self.oai.expect(['..*'], timeout=0.5) - except pexpect.TIMEOUT, e: - return -# print '[Flushing ' + self.oai.after + ']' - - # **************************Send***************************** - # 1) send a command and return, do not wait - # ************************************************************ - def send_nowait(self, command, sudo=False): - rsp1 = self.prompt1 - rsp2 = self.prompt2 - if sudo == True: - command = 'echo \'' + '' + '\' | sudo -S -E bash -c \' ' + command + '\' ' - self.wait_quiet() - if self.send_cr: - log.stats['cmd'] += 1 - self.oai.sendline(command) - else: - self.oai.send(command) - - - # **************************Send***************************** - # 1) send a command - # 2) wait for a return prompt. Don't capture the response. - # 3) Check for error or timeout. - # ************************************************************ - def send(self, command,sudo=False, timeout = 50, rsp1=None, rsp2=None,debug=0): - if not rsp1: - rsp1 = self.prompt1 - if not rsp2: - rsp2 = self.prompt2 - self.wait_quiet() - if sudo == True: - command = 'echo \'' + '' + '\' | sudo -S -E bash -c \' ' + command + '\' ' - if self.send_cr: - log.stats['cmd'] += 1 - self.oai.sendline(command) - else: - self.oai.send(command) - - if self.expect_echo: - #cmd = self.oai.expect([re.escape(command), pexpect.TIMEOUT], timeout=timeout); - cmd = self.oai.expect_exact([command, pexpect.TIMEOUT], timeout=timeout); - if cmd != 0: - raise log.err(self.failed(command, command,debug)) - - if self.expect_response: - #index = self.oai.expect([re.escape(rsp1), re.escape(rsp2),'%', pexpect.TIMEOUT], timeout=timeout) - index = self.oai.expect_exact([rsp1, rsp2, pexpect.TIMEOUT], timeout=timeout) - - if index == 0 or index == 1: - return 'OK' - elif index == 2: - #self.oai.expect([re.escape(rsp1), re.escape(rsp2), pexpect.TIMEOUT], timeout=timeout) - self.oai.expect_exact([rsp1, rsp2, pexpect.TIMEOUT], timeout=timeout) - if self.flag_errors: - raise log.err(self.err(command)) - else: - return 'OK' - else: - raise log.err(self.failed(command, rsp1 + ' or ' + rsp2,debug)) - - # **************************send_recv************************* - # 1) send a command - # 2) wait for either rsp1 or rsp2 is found (normally prompts) - # 3) return everything seen before that - # ************************************************************ - def send_recv(self, command, sudo=False, timeout=100, rsp1=None, rsp2=None,debug=0): - if not rsp1: - rsp1 = self.prompt1 - if not rsp2: - rsp2 = self.prompt2 - self.wait_quiet() - if sudo == True: - #command = 'echo \'' + self.password + '\' | sudo -S -E ' + command - command = 'echo \'' + '' + '\' | sudo -S -E bash -c \' ' + command + '\' ' - if self.send_cr: - log.stats['cmd'] += 1 - self.oai.sendline(command) - else: - self.oai.send(command) - #index = self.oai.expect([re.escape(rsp1), re.escape(rsp2), pexpect.TIMEOUT], timeout=timeout); - index = self.oai.expect_exact([rsp1, rsp2, pexpect.TIMEOUT], timeout=timeout); - if index == 0 or index == 1 : - return self.oai.before - else: - print "command = " + command + "rsp1 = " + rsp1 + " rsp2 = " + rsp2 + " index = " + str(index) - raise log.err(self.failed(command, rsp1 + ' or ' + rsp2,debug)) - - - # **************************send_expect************************* - # 1) send a command, and optionally specify a the time to wait - # 2) search for an expected pattern in the response - # 3) raise an error if not found - # ************************************************************** - def send_expect(self, command, expect, sudo=False, delay = 50, rsp1=None, rsp2=None,debug=0): - if debug : - print command - print expect - print delay - rsp = self.send_recv(command, sudo, delay, rsp1, rsp2) - #print rsp - if (rsp.find(expect) != -1): - return 'Ok' - - raise log.err(self.failed(command, expect,debug)) - - - # **************************send_expect_re************************* - # 1) send a command, and optionally specify a the time to wait - # 2) search for an expected pattern defined by a regular expression in the response - # 3) return a error if raise_err flag is set and re not found, otherwise return 'Ok' - # ***************************************************************** - def send_expect_re(self, command, expect, sudo=False, raise_err=1, delay = 50, rsp1=None, rsp2=None,debug=0): - rsp = self.send_recv(command, sudo, delay, rsp1, rsp2) -# print rsp - match = re.compile(expect).search(rsp) - if match: - return match - if raise_err: - raise log.err(self.failed(command, expect,debug)) - else : - return None - - # **************************send_expect************************* - # 1) send a command, and optionally specify a the time to wait - # 2) search for an expected pattern defined by a re in the response - # 3) return ok if not found - # ************************************************************** - def send_expect_false(self, command, expect, sudo=False, delay = 5, rsp1=None, rsp2=None,debug=0): - rsp = self.send_recv(command, sudo, delay, rsp1, rsp2) - # print rsp - if (rsp.find(expect) == -1): - return 'OK' - else: - print "command = " + command + "expect = " + expect + "rsp = " + rsp - raise log.err(self.failed(command, expect,debug)) - - - # **************************send_wait************************* - # 1) send a command, and optionally specify a the time to wait - # 2) search for an expected pattern in the response - # 3) retry for a numretries if not found - # 4) return an error if not found after the numtries - # 3) return the response if found - # ************************************************************** - def send_wait(self, command, expect, sudo=False, numretries=3, rsp1=None, rsp2=None,debug=0): - timer = 0 - for i in range(numretries): - rsp = self.send_recv(command, sudo, 10, rsp1, rsp2) - if (rsp.find(expect) != -1): - return rsp; - time.sleep(2) - timer = timer+2 - raise log.err(self.failed(command, expect,debug)) - - # **************************send_wait_re************************* - # 1) send a command, and optionally specify a the time to wait - # 2) search for an expected pattern defined by a re in the response - # 3) retry for a numretries if not found - # 4) return an error if not found after the numtries - # 3) return the response if found - # ************************************************************** - def send_wait_re(self, command, expect, sudo=False, numretries=3, rsp1=None, rsp2=None,debug=0): - timer = 0 - for i in range(numretries): - rsp = self.send_recv(command,sudo) - if re.compile(expect).search(rsp): -# print "Found in",i,"attempts" - return rsp; - time.sleep(2) - timer = timer+2 - raise log.err(self.failed(command, expect,debug)) - - # **************************send_wait_false************************* - # 1) send a command, and optionally specify a the time to wait - # 2) search for an expect pattern in the response - # 3) return the response if not found - # 4) return an error if the pattern found after the numtries - # ************************************************************** - def send_wait_false(self, command, expect, sudo=False, numretries=3, rsp1=None, rsp2=None,debug=0): - timer = 1 - for i in range(numretries): - rsp = self.send_recv(command,sudo) - if (rsp.find(expect) == -1): - return rsp; - time.sleep(2) - timer = timer+2 - raise log.err(self.failed(command, expect,debug)) - - # **************************send_wait_false************************* - # 1) send a command, and optionally specify a the time to wait - # 2) search for an expect pattern defined by a re in the response - # 3) return the response if not found - # 4) return an error if the pattern found after the numtries - # ************************************************************** - def send_wait_false_re(self, command, expect, sudo=False, numretries=3, rsp1=None, rsp2=None,debug=0): - timer = 0 - for i in range(numretries): - rsp = self.send_recv(command,sudo) - if not re.compile(expect).search(rsp): - return rsp; - time.sleep(2) - timer = timer+2 - raise log.err(self.failed(command, expect,debug)) - - # **************************find************************* - # 1) find an exact pattern in a given string - # 2) raise an error if not found - # ************************************************************** - def find(self, string, pattern): - word = string.replace(pattern,'*','\*') - words = string.replace(word,' ','\s*') - if re.search(words,string): - pass - else: - raise log.err(string) - - - # **************************find_false************************** - # 1) find an exact pattern in a given string - # 2) raise an error if found - # ************************************************************** - def find_false(self, string, pattern): - if string.find(pattern) != -1: - raise log.err(string) - - # **************************find_re************************* - # 1) find an exact re pattern in a given string - # 2) raise an error if not found - # ************************************************************** - def find_re(self, string, pattern): - if not re.compile(pattern).search(string): - raise log.err(string) - - # **************************find_false_re************************* - # 1) find an exact re pattern in a given string - # 2) raise an error if found - # ************************************************************** - def find_false_re(self, string, pattern): - if re.compile(pattern).search(string): - raise log.err(string) - diff --git a/cmake_targets/autotests/log.py b/cmake_targets/autotests/log.py deleted file mode 100755 index 5a97b19cf23429b5a430a465d31e2dfcda8728a1..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/log.py +++ /dev/null @@ -1,198 +0,0 @@ -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \file log.py -# \brief provides primitives and defines how the logs and statistics are generated -# \author Navid Nikaein -# \date 2013 -# \version 0.1 -# @ingroup _test - -import sys -import re -import time -import datetime -import array -import xml.etree.ElementTree as ET - - -debug = False -docfile = '' -start_time = time.time() -testcase_starttime = start_time -debug = 0 -stats = {'passed':0, 'failed':0, 'skipped':0, 'internal_errors':0, 'cmd':0} - -# xml result (jUnit like) -xUnitTestsuites = ET.Element( 'testsuites' ) -xUnitTestsuite = ET.SubElement( xUnitTestsuites, 'testsuite' ) -xUnitTestsuite.set( 'name', 'OAI' ) -xUnitTestsuite.set( 'timestamp', datetime.datetime.fromtimestamp(start_time).strftime('%Y-%m-%dT%H:%M:%S') ) -xUnitTestsuite.set( 'hostname', 'localhost' ) -#xUnitSystemOut = ET.SubElement( xUnitTestsuite, 'system-out' ) - -class bcolors: - header = '\033[95m' - okblue = '\033[94m' - okgreen = '\033[92m' - warning = '\033[93m' - fail = '\033[91m' - normal = '\033[0m' - - def __init__(self): - if not sys.stdout.isatty(): - self.disable() - - def disable(self): - self.header = '' - self.okblue = '' - self.okgreen = '' - self.warning = '' - self.fail = '' - self.normal = '' - -class err(Exception): - def __init__(self, value): - self.value = value - def __str__(self): - return repr(self.value) - -def writefile(logfile, message): - F_testlog = open(logfile, 'a') - F_testlog.write(message + '\n') - F_testlog.close() - - -def sleep(seconds): - time.sleep(seconds) - -def start(): - """Start the timer for the following testcase.""" - global testcase_starttime - testcase_starttime = time.time() - -def set_debug_level(level): - debug = level - -def statistics(logfile): - global start_time - - #if stats['passed'] == 0: - # print "no test executed...exiting" - # sys.exit() - - total_tests = stats['passed'] + stats['failed'] + stats['skipped'] - total_ex_tests = stats['passed'] + stats['failed'] - elapsed_time = time.gmtime(time.time() - start_time) - print '\n' - log_record('info', '===============================================') - log_record('info', 'Total tests performed ' + repr(total_tests)) - log_record('info', 'Tests passed ' + repr(stats['passed'])) - log_record('info', 'Tests failed ' + repr(stats['failed'])) - log_record('info', 'Tests skipped ' + repr(stats['skipped'])) - log_record('info', '') - log_record('info', 'Total commands sent ' + repr(stats['cmd'])) - log_record('info', 'Total elapsed time (h:m:s) ' + time.strftime('%H:%M:%S', elapsed_time)) - log_record('info', '===============================================') - log_record('info', 'Testing pass rate ' + repr((stats['passed'] * 100) / total_tests) + '%') - log_record('info', '===============================================') - - writefile(logfile, '\n=====================Results===================') - writefile(logfile, 'Total tests performed ' + repr(total_tests)) - writefile(logfile, 'Tests passed ' + repr(stats['passed'])) - writefile(logfile, 'Tests failed ' + repr(stats['failed'])) - writefile(logfile, 'Tests skipped ' + repr(stats['skipped'])) - writefile(logfile, '') - writefile(logfile, 'Total commands sent ' + repr(stats['cmd'])) - writefile(logfile, 'Total elapsed time (h:m:s) ' + time.strftime('%H:%M:%S', elapsed_time)) - writefile(logfile, '===============================================') - writefile(logfile, 'Testing pass rate ' + repr((stats['passed'] * 100) / total_tests) + '%') - writefile(logfile, '===============================================\n') - - xUnitTestsuite.set( 'tests', repr(total_tests) ) - xUnitTestsuite.set( 'failures', repr(stats['failed']) ) - xUnitTestsuite.set( 'skipped', repr(stats['skipped']) ) - xUnitTestsuite.set( 'errors', '0' ) - time_delta = datetime.datetime.now() - datetime.datetime.fromtimestamp(start_time) - xUnitTestsuite.set( 'time', repr(time_delta.total_seconds()) ) - writefile( logfile + '.xml', ET.tostring( xUnitTestsuites, encoding="utf-8", method="xml" ) ) - -def log_record(level, message): - ts = time.strftime('%d %b %Y %H:%M') - message = ts + ' [' + level + '] ' + message - if level == 'passed' : - print bcolors.okgreen + message + bcolors.normal - elif level == 'failed' : - print bcolors.fail + message + bcolors.normal - elif level == 'skipped' : - print bcolors.warning + message + bcolors.normal - else : - print message - -def fail(case, testnum, testname, conf, message, diag, output,trace): -# report(case, testnum, testname, conf, 'failed', output, diag, message) - report(case, testnum, testname, conf, 'failed', output, diag) - log_record('failed', case + testnum + ' : ' + testname + ' ('+ conf+')') - if message : - log_record('failed', "Output follows:\n" + message ) - if trace : - log_record('failed', "trace file can be found in " + trace + "\n" ) - stats['failed'] += 1 - -def failquiet(case, testnum, testname, conf): - log_record('failed', case + testnum + ' :' + testname + ' ('+ conf+')') - stats['failed'] += 1 - -def ok(case, testnum, testname, conf, message, output): - report(case, testnum, testname, conf, 'passed', output) - log_record('passed', case + testnum + ' : ' + testname + ' ('+ conf+')') - if message : - print bcolors.okgreen + message + bcolors.normal - stats['passed'] += 1 - - -def skip(case, testnum, testname, conf, message=None, diag=None, output=None): - log_record('skipped', case + testnum + ' :' + testname + ' ('+ conf+')') - report(case, testnum, testname, conf, 'skipped', output, diag) - if message : - log_record('skipped', "Output follows:\n" + message ) - if diag : - log_record('skipped', "Diagnostic: \n" + diag ) - stats['skipped'] += 1 - - -def report(case, test, name, conf, status, output, diag=None, desc=None): - writefile (output, '[' +status+ '] ' + case + test + ' : ' + name + ' ('+ conf+')') - if diag : - writefile (output, '-------> ' + diag) - if desc: - writefile(output, desc) - #log_record('report', + case + test + ' documented') - e = ET.SubElement( xUnitTestsuite, 'testcase' ) - e.set( 'name', case + '_' + test + '_' + name ) - e.set( 'classname', 'shellscript' ) - e.set( 'time', repr( time.time() - testcase_starttime ) ) - if status == 'failed': - e = ET.SubElement( e, 'failure' ) - e.set( 'message', 'failed' ) - e.text = diag - if status == 'skipped': - e = ET.SubElement( e, 'skipped' ) diff --git a/cmake_targets/autotests/openair.py b/cmake_targets/autotests/openair.py deleted file mode 100755 index beb12cd2a20821f123b281ec18bb4954d6c88daf..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/openair.py +++ /dev/null @@ -1,264 +0,0 @@ -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \file openair.py -# \brief class that define the oaisim class and its attributes -# \author Navid Nikaein -# \date 2013 -# \version 0.1 -# @ingroup _test - -import pexpect -import pxssh -import time -import os -import array -import shutil -import subprocess -import sys -import traceback -import time -# import call - -from core import * - -SHELL = '/bin/bash' - -class openair(core): - def __init__(self, hostname, address): - self.error = '% ' - self.hostname = hostname - self.address = address - self.localhost = None - core.__init__(self) - - @property - def localhost(self): - if self.localhost : - return self.localhost - elif self.hostname in ['localhost', '127.0.0.7', '::1'] : - self.localhost = self.hostname - return self.localhost - - @localhost.setter - def localhost(self,localhost): - self.localhost = localhost - - def shcmd(self,cmd,sudo=False): - - if sudo: - cmd = "sudo %s" % command - - proc = subprocess.Popen(command, shell=True, - stdout = subprocess.PIPE, - stderr = subprocess.PIPE) - - stdout, stderr = proc.communicate() - return (stdout, stderr) - - def connect(self, username, password, prompt='PEXPECT_OAI'): - max_retries=10 - i=0 - while i <= max_retries: - self.prompt1 = prompt - self.prompt2 = prompt - self.password = '' - i=i+1 - # WE do not store the password when sending commands for secuirity reasons. The password might be accidentally logged in such cases. - #The password is used only to make ssh connections. In case user wants to run programs with sudo, then he/she needs to add following line in /etc/sudoers - # your_user_name ALL=(ALL:ALL) NOPASSWD: ALL - try: - if not username: - username = root - if not password: - password = username - self.oai = pxssh.pxssh() - self.oai.login(self.address,username,password) - self.oai.sendline('PS1='+self.prompt1) - self.oai.PROMPT='PEXPECT_OAI' - # need to look for twice the string of the prompt - self.oai.prompt() - self.oai.prompt() -# self.oai.sendline('uptime') -# self.oai.prompt() -# print self.oai.before - break - except Exception, e: - error='' - error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + 'address = "'+ self.address +' username = ' + username - error = error + traceback.format_exc() - print error - print "Retrying again in 1 seconds" - time.sleep(1) - if i==max_retries: - print "Fatal Error: Terminating the program now..." - sys.exit(1) - - def connect2(self, username, password, prompt='$'): - self.prompt1 = prompt - self.prompt2 = prompt - self.password = password - while 1: - try: - if not username: - username = root - if not password: - password = username - - self.oai = pexpect.spawn('ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" -o "ConnectionAttempts=1" ' \ - + username + '@' + self.address) - - index = self.oai.expect([re.escape(self.prompt1), re.escape(self.prompt2), pexpect.TIMEOUT], timeout=40) - if index == 0 : - return 'Ok' - else : - index = self.oai.expect(['password:', pexpect.TIMEOUT], timeout=40) - if index == 0 : - self.oai.sendline(password) - index = self.oai.expect([re.escape(self.prompt1), re.escape(self.prompt2), pexpect.TIMEOUT], timeout=10) - if index != 0: - print 'ERROR! could not login with SSH.' - print 'Expected ' + self.prompt1 + ', received >>>>' + self.oai.before + '<<<<' - sys.exit(1) - return 'Ok' - - except Exception, e: - error='' - error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + traceback.format_exc() - print error - sys.exit(1) - - def connect_localshell(self, prompt='$'): - self.prompt1 = prompt - self.prompt2 = prompt - - while 1: - try: - # start a shell and use the current environment - self.oai = pexpect.spawn('bash --norc --noprofile') - - index = self.oai.expect([re.escape(self.prompt1), re.escape(self.prompt2), pexpect.TIMEOUT], timeout=40) - if index == 0 : - return 'Ok' - else : - sys.exit(1) - - except Exception, e: - error='' - error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + traceback.format_exc() - print error - sys.exit(1) - - def disconnect(self): -# print 'disconnecting the ssh connection to ' + self.address + '\n' - self.oai.send('exit') -# self.cancel() - - def kill(self, user, pw): - try: - if user == 'root' : - os.system('pkill oaisim oaisim_nos1') - os.system('pkill cc1') - time.sleep(1) - os.system('pkill oaisim oaisim_nos1') - else : - os.system('echo '+pw+' | sudo -S pkill oaisim oaisim_nos1') - os.system('echo '+pw+' | sudo -S pkill cc1') - time.sleep(1) - os.system('echo '+pw+' | sudo -S pkill oaisim oaisim_nos1') - except Exception, e: - error='' - error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + traceback.format_exc() - print error - #sys.exit(1) - - def rm_driver(self,oai,user, pw): - try: - if user == 'root' : - #oai.send_nowait('rmmod nasmesh;') - os.system('rmmod nasmesh;') - else : - oai.send_nowait('echo '+pw+ ' | sudo -S rmmod nasmesh;') - #os.system('echo '+pw+ ' | sudo -S rmmod nasmesh;') - except Exception, e: - error='' - error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + traceback.format_exc() - print error - #sys.exit(1) - - def driver(self,oai,user,pw): - #pwd = oai.send_recv('pwd') - oai.send('cd $OPENAIR_TARGETS;') - oai.send('cd SIMU/USER;') - try: - if user == 'root' : - oai.send_nowait('insmod ./nasmesh.ko;') - else : - oai.send('echo '+pw+ ' | sudo -S insmod ./nasmesh.ko;') - - except Exception, e: - error='' - error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + traceback.format_exc() - print error - #sys.exit(1) - - def cleandir (self, logdir,debug) : - - for filename in os.listdir(logdir): - filepath = os.path.join(logdir, filename) - if debug == 2 : - print 'logdir is ' + logdir - print 'filepath is ' + filepath - try: - shutil.rmtree(filepath) - except Exception, e: - error='' - error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + traceback.format_exc() - print error - #sys.exit(1) - #print 'Could not remove the filepath'+ filepath + ' with error ' + OSError - - def create_dir(self,dirname,debug) : - if not os.path.exists(dirname) : - try: - os.makedirs(dirname,0755) - except OSError: - # There was an error on creation, so make sure we know about it - raise - def cpu_freq(self): - freq=0 - proc = subprocess.Popen(["cat","/proc/cpuinfo"], - stdout=subprocess.PIPE) - out, err = proc.communicate() - - for line in out.split("\n"): - if "cpu MHz" in line: - freq = float(line.split(":")[1]) - break - - return freq diff --git a/cmake_targets/autotests/run_compilation_autotests.bash b/cmake_targets/autotests/run_compilation_autotests.bash deleted file mode 100755 index 10e4caa04ba5417404a363f6804c516841afef9c..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/run_compilation_autotests.bash +++ /dev/null @@ -1,197 +0,0 @@ -#!/bin/bash -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \author Navid Nikaein, Rohit Gupta - -if [ -s $OPENAIR_DIR/cmake_targets/tools/build_helper ] ; then - source $OPENAIR_DIR/cmake_targets/tools/build_helper -else - echo "Error: no file in the file tree: is OPENAIR_DIR variable set?" - exit 1 -fi - -tdir=$OPENAIR_DIR/cmake_targets/autotests - -results_file=$tdir/log/compilation_autotests.xml - -# include the jUnit-like logging functions -source $OPENAIR_DIR/cmake_targets/tools/test_helper - -test_compile() { - xUnit_start - test_name=$1.$2 - compile_prog=$2 - exec_prog=$3 - build_dir=$tdir/$1/build - log_file=$tdir/log/test.$1.$2.$5.txt - target=$5 - echo "Compiling test case $test_name. Log file = $log_file" - rm -fr $build_dir - mkdir -p $tdir/$1/build - cd $build_dir - { - cmake .. - rm -f $exec_prog - make -j`nproc` $compile_prog - } >> $log_file 2>&1 - if [ -s $exec_prog ] ; then - cp $exec_prog $tdir/bin/`basename $exec_prog`.$target.$test_name - echo_success "$test_name $exec_prog $target compiled" - xUnit_success "compilation" $test_name "PASS" 1 "$results_file" - else - echo_error "$test_name $exec_prog $target compilation failed" - xUnit_fail "compilation" $test_name "FAIL" 1 "$results_file" - fi -} - -mkdir -p $tdir/bin $tdir/log - -updated=$(svn st -q $OPENAIR_DIR) -if [ "$updated" != "" ] ; then - echo_warning "some files are not in svn:\n $updated" -fi - -cd $tdir - -test_compile \ - 010101 oaisim_nos1 \ - oaisim_nos1 $tdir/bin/oaisim.r8 rel8.nos1 - -test_compile \ - 010102 oaisim_nos1 \ - oaisim_nos1 $tdir/bin/oaisim.r8.nas rel8.nos1.nas - -cp $tdir/010103/CMakeLists.txt.Rel8 $tdir/010103/CMakeLists.txt -test_compile \ - 010103 lte-softmodem \ - lte-softmodem $tdir/bin/lte-softmodem.r8.rf Rel8.EXMIMO - -cp $tdir/010103/CMakeLists.txt.Rel10 $tdir/010103/CMakeLists.txt -test_compile \ - 010103 lte-softmodem \ - lte-softmodem $tdir/bin/lte-softmodem.r10.rf Rel10.EXMIMO - -cp $tdir/010103/CMakeLists.txt.USRP $tdir/010103/CMakeLists.txt -test_compile \ - 010103 lte-softmodem \ - lte-softmodem $tdir/bin/lte-softmodem.r10.rf Rel10.USRP - -test_compile \ - 010104 dlsim \ - dlsim $tdir/bin/dlsim dlsim.Rel8 - -test_compile \ - 010104 ulsim \ - ulsim $tdir/bin/ulsim ulsim.Rel8 - -test_compile \ - 010104 pucchsim \ - pucchsim $tdir/bin/pucchsim pucchsim.Rel8 - -test_compile \ - 010104 prachsim \ - prachsim $tdir/bin/prachsim prachsim.Rel8 - -test_compile \ - 010104 pdcchsim \ - pdcchsim $tdir/bin/pdcchsim pdcchsim.Rel8 - -test_compile \ - 010104 pbchsim \ - pbchsim $tdir/bin/pbchim pbchsim.Rel8 - -test_compile \ - 010104 mbmssim \ - mbmssim $tdir/bin/mbmssim mbmssim.Rel8 - -test_compile \ - 010104 test_secu_knas_encrypt_eia1 \ - test_secu_knas_encrypt_eia1 $tdir/bin/test_secu_knas_encrypt_eia1 test_secu_knas_encrypt_eia1.Rel10 - -test_compile \ - 010104 test_secu_kenb \ - test_secu_kenb $tdir/bin/test_secu_kenb test_secu_kenb.Rel10 - -test_compile \ - 010104 test_aes128_ctr_encrypt \ - test_aes128_ctr_encrypt $tdir/bin/test_aes128_ctr_encrypt test_aes128_ctr_encrypt.Rel10 - -test_compile \ - 010104 test_aes128_ctr_decrypt \ - test_aes128_ctr_decrypt $tdir/bin/test_aes128_ctr_decrypt test_aes128_ctr_decrypt.Rel10 - -test_compile \ - 010104 test_secu_knas_encrypt_eea2 \ - test_secu_knas_encrypt_eea2 $tdir/bin/test_secu_knas_encrypt_eea2 test_secu_knas_encrypt_eea2.Rel10 - -test_compile \ - 010104 test_secu_knas \ - test_secu_knas $tdir/bin/test_secu_knas test_secu_knas.Rel10 - -test_compile \ - 010104 test_secu_knas_encrypt_eea1 \ - test_secu_knas_encrypt_eea1 $tdir/bin/test_secu_knas_encrypt_eea1 test_secu_knas_encrypt_eea1.Rel10 - -test_compile \ - 010104 test_kdf \ - test_kdf $tdir/bin/test_kdf test_kdf.Rel10 - -test_compile \ - 010104 test_aes128_cmac_encrypt \ - test_aes128_cmac_encrypt $tdir/bin/test_aes128_cmac_encrypt test_aes128_cmac_encrypt.Rel10 - -test_compile \ - 010104 test_secu_knas_encrypt_eia2 \ - test_secu_knas_encrypt_eia2 $tdir/bin/test_secu_knas_encrypt_eia2 test_secu_knas_encrypt_eia2.Rel10 - -test_compile \ - 010106 oaisim \ - oaisim $tdir/bin/oaisim.r8.itti Rel8.itti - -test_compile \ - 010107 oaisim_nos1 \ - oaisim_nos1 $tdir/bin/oaisim.r10 Rel10.nos1 - -test_compile \ - 010108 oaisim \ - oaisim $tdir/bin/oaisim.r10.itti rel10.itti - -#test_compile \ LG: RAL REMOVED -# test.0114 oaisim \ -# oaisim $tdir/bin/oaisim.r8.itti.ral rel8.itti.ral - -#test_compile \ LG: RAL REMOVED -# test.0115 oaisim \ -# oaisim $tdir/bin/oaisim.r10.itti.ral rel10.itti.ral - -test_compile \ - 010120 nasmesh \ - CMakeFiles/nasmesh/nasmesh.ko $tdir/bin/nasmesh.ko - -test_compile \ - 010130 rrh_gw \ - rrh_gw $tdir/bin/rrh_gw - -# write the test results into a file -xUnit_write "$results_file" - -echo "Test Results are written to $results_file" diff --git a/cmake_targets/autotests/run_exec_autotests.bash b/cmake_targets/autotests/run_exec_autotests.bash index 895bd9554b7aa52b7aa976d6f9f765a4c38df532..c00500cfc3695e1a0a6c1461c2b2eec4227b9783 100755 --- a/cmake_targets/autotests/run_exec_autotests.bash +++ b/cmake_targets/autotests/run_exec_autotests.bash @@ -20,8 +20,6 @@ # * contact@openairinterface.org # */ -# \author Navid Nikaein, Rohit Gupta - if [ -s $OPENAIR_DIR/cmake_targets/tools/build_helper ] ; then source $OPENAIR_DIR/cmake_targets/tools/build_helper else @@ -29,212 +27,46 @@ else exit 1 fi -trap handle_ctrl_c INT - source $OPENAIR_DIR/cmake_targets/tools/test_helper - -SUDO="sudo -E -S" +SUDO="sudo -E" tdir=$OPENAIR_DIR/cmake_targets/autotests -rm -fr $tdir/bin +rm -fr $tdir/bin mkdir -p $tdir/bin results_file="$tdir/log/results_autotests.xml" -updated=$(svn st -q $OPENAIR_DIR) -if [ "$updated" != "" ] ; then - echo "some files are not in svn:\n $updated" -fi - -cd $tdir #\param $1 -> name of test case -#\param $2 -> name of compilation program -#\param $3 -> arguments for compilation program -#\param $4 -> name of pre-executable to install kernel modules, etc -#\param $5 -> arguments of pre-executable -#\param $6 -> name of executable -#\param $7 -> arguments for running the program -#\param $8 -> search expression -#\param $9 -> search expression which should NOT be found (for ex. segmentation fault) -#\param $10 -> number of runs -#\param $11 -> pre_compile program execution -#\param $12 -> class of the test case (compilation, execution) -#\param $13 -> output of compilation program that needs to be found for test case to pass -#\param $14 -> tags to help identify the test case for readability in output xml file -function test_compile() { - +#\param $2 -> name of executable +#\param $3 -> arguments for running the program +#\param $4 -> search expression +#\param $5 -> search expression which should NOT be found (for ex. segmentation fault) +#\param $6 -> number of runs +#\param $7 -> tags to help identify the test case for readability in output xml file +#\param $8 => test config file params to be modified +#\param $9 -> desc to help identify the test case for readability in output xml file + +function test_run() { xUnit_start test_case_name=$1 log_dir=$tdir/log/$test_case_name log_file=$log_dir/test.$1.log.txt - compile_prog=$2 - compile_args=$3 - pre_exec_file=$4 - pre_exec_args=$5 - exec_args=$7 - search_expr_array=("${!8}") - search_expr_negative=$9 - nruns=${10} - pre_compile_prog=${11} - class=${12} - compile_prog_out=${13} - tags=${14} - xmlfile_testcase=$log_dir/test.$1.xml - #build_dir=$tdir/$1/build - #exec_file=$build_dir/$6 - - #compile_prog_out=`eval "echo $compile_prog_out"` - #echo "compile_prog_out = $compile_prog_out" - read -a compile_prog_out_array <<< "$compile_prog_out" - - #Temporary log file where execution log is stored. - temp_exec_log=$log_dir/temp_log.txt - rm -fr $log_dir - mkdir -p $log_dir - - - - #echo "log_dir = $log_dir" - #echo "log_file = $log_file" - #echo "exec_file = $exec_file" - #echo "exec_args = $exec_args" - #echo "search_expr = $search_expr" - #echo "pre_exec_file = $pre_exec_file" - #echo "nruns = $nruns" - echo "class = $class" - - compile_prog_array=() - read -a compile_prog_array <<<"$compile_prog" - - #tags_array=() - #read -a tags_array <<<"$tags" - - #pre_compile_prog_array=() - #readarray -t pre_compile_prog_array <<< "$pre_compile_prog" - result=1 - result_string="" - for (( run_index=1; run_index <= $nruns; run_index++ )) - do - - #tags_array_index=0 - #for pre_compile_prog_array_index in "${pre_compile_prog_array[@]}" - #do - - #for compile_prog_array_index in "${compile_prog_array[@]}" - #do - echo "Compiling test case $test_case_name.${tags} Log file = $log_file" - date=`date` - echo "<COMPILATION LOG file=$test_case_name.${tags} , Run = $run_index>, Date = $date " >> $log_file - #rm -fr $build_dir - #mkdir -p $build_dir - cd $log_dir - { - uname -a - compile_log_dir=`eval echo \"$OPENAIR_DIR/cmake_targets/log/\"` - echo "Removing compilation log files in $compile_log_dir" - rm -frv $compile_log_dir - echo "Executing $pre_exec_file $pre_exe_args ...." - eval $pre_exec_file $pre_exec_args - echo "Executing $compile_prog $compile_prog_args ...." - eval $compile_prog $compile_prog_args - echo "Copying compilation log files to test case log directory: $log_dir" - cp -fvr $OPENAIR_DIR/cmake_targets/log/ $log_dir/compile_log - }>> $log_file 2>&1 - echo "</COMPILATION LOG>" >> $log_file 2>&1 - if [ "$class" == "compilation" ]; then - for compile_prog_out_index in ${compile_prog_out_array[@]} - do - if [ -s "$compile_prog_out_index" ]; then - let "result = result&1" - - echo_success "$test_case_name.${tags} RUN = $run_index $compile_prog_out_index = compiled" - - else - let "result = result&0" - - echo_error "$test_case_name.${tags} RUN = $run_index $compile_prog_out_index failed" - - fi - done #end of for loop compile_prog_out_index - if [ "$result" == "1" ]; then - result_string=$result_string" Run_$run_index = PASS" - else - result_string=$result_string" Run_$run_index = FAIL" - fi - - fi - #let "tags_array_index++" - #done # End of for loop compile_prog_array - #done # End of for loop (pre_compile_prog_array_index) - done #End of for loop (run_index) - - - #If for for some reason upper for loop does not execute, we fail the test case completely - if [ "$result_string" == "" ]; then - result=0 - fi - if [ "$result" == "1" ]; then - echo_success "$test_case_name.${tags} PASSED" - xUnit_success "compilation" "$test_case_name.$tags" "PASS" "$result_string" "$xmlfile_testcase" "" - else - echo_error "$test_case_name.${tags} FAILED" - xUnit_fail "compilation" "$test_case_name.$tags" "FAIL" "$result_string" "$xmlfile_testcase" "" - fi -} - - + main_exec=$2 + exec_args=$3 + search_expr_array=("${!4}") + search_expr_negative=$5 + nruns=${6} + tags=${7} + test_config_file=${8} + desc=${9} -#\param $1 -> name of test case -#\param $2 -> name of compilation program -#\param $3 -> arguments for compilation program -#\param $4 -> name of pre-executable to install kernel modules, etc -#\param $5 -> arguments of pre-executable -#\param $6 -> name of executable -#\param $7 -> arguments for running the program -#\param $8 -> search expression -#\param $9 -> search expression which should NOT be found (for ex. segmentation fault) -#\param $10 -> number of runs -#\param $11 -> pre_compile program execution -#\param $12 -> class of the test case (compilation, execution) -#\param $13 -> output of compilation program that needs to be found for test case to pass -#\param $14 -> tags to help identify the test case for readability in output xml file -#\param $15 => password for the user to run certain commands as sudo -#\param $16 => test config file params to be modified -#\param $17 => bypass flag if main_exec if available -#\param $18 -> desc to help identify the test case for readability in output xml file - -function test_compile_and_run() { - xUnit_start - test_case_name=$1 - log_dir=$tdir/log/$test_case_name - log_file=$log_dir/test.$1.log.txt - compile_prog=$2 - compile_args=$3 - pre_exec_file=$4 - pre_exec_args=$5 - main_exec=$6 - exec_args=$7 - search_expr_array=("${!8}") - search_expr_negative=$9 - nruns=${10} - pre_compile_prog=${11} - class=${12} - compile_prog_out=${13} - tags=${14} - mypassword=${15} - test_config_file=${16} - bypass_compile=${17} - desc=${18} - - build_dir=$tdir/$1/build - #exec_file=$build_dir/$6 xmlfile_testcase=$log_dir/test.$1.xml #Temporary log file where execution log is stored. temp_exec_log=$log_dir/temp_log.txt export OPENAIR_LOGDIR=$log_dir rm -fr $log_dir mkdir -p $log_dir - + echo "" > $temp_exec_log echo "" > $log_file #echo "log_dir = $log_dir" @@ -242,266 +74,180 @@ function test_compile_and_run() { #echo "exec_file = $exec_file" #echo "exec_args = $exec_args" #echo "search_expr = $search_expr" - #echo "pre_exec_file = $pre_exec_file" #echo "nruns = $nruns" - echo "class = $class" #echo "desc = $desc" - - #compile_prog_array=() - #read -a compile_prog_array <<<"$compile_prog" - - #test_config_file=`eval "echo \"$test_config_file\" "` - #echo "test_config_file = $test_config_file" - tags_array=() read -a tags_array <<<"$tags" desc_array=() readarray -t desc_array <<<"$desc" - + main_exec_args_array=() readarray -t main_exec_args_array <<< "$exec_args" - - REAL_MAIN_EXEC=`eval "echo $main_exec"` - if [ "$bypass_compile" == "1" ] && [ -f $REAL_MAIN_EXEC ] - then - echo "Bypassing compilation for $main_exec" - else - rm -fr $OPENAIR_DIR/cmake_targets/log - - #for search_expr in "${compile_prog_array[@]}" - #do - echo "Compiling test case $test_case_name Log file = $log_file" - echo "<COMPILATION LOG file=$log_file>" >> $log_file - - #rm -fr $build_dir - #mkdir -p $build_dir - - cd $log_dir - { - uname -a - echo "Executing $pre_compile_prog" - eval $pre_compile_prog - - if [ "$test_config_file" != "" ]; then - echo "Modifying test_config_file parameters..." - echo "$test_config_file" |xargs -L 1 $OPENAIR_DIR/cmake_targets/autotests/tools/search_repl.py - fi - echo "Executing $compile_prog $compile_args" - eval "$compile_prog $compile_args" - echo "Copying compilation log files to test case log directory: $log_dir" - cp -fvr $OPENAIR_DIR/cmake_targets/log/ $log_dir/compile_log - }>> $log_file 2>&1 - echo "</COMPILATION LOG>" >> $log_file 2>&1 - #done + + if [ ! -f $main_exec ]; then + echo_fatal "no executable $main_exec found" fi - - #process the test case if it is that of execution - if [ "$class" == "execution" ]; then - tags_array_index=0 - for main_exec_args_array_index in "${main_exec_args_array[@]}" + + tags_array_index=0 + for main_exec_args_array_index in "${main_exec_args_array[@]}" + do + global_result=1 + result_string="" + PROPER_DESC=`echo ${desc_array[$tags_array_index]} | sed -e "s@^.*Test cases.*(Test@Test@" -e "s@^ *(@@" -e"s/)$//" -e "s/),$//"` + echo_info "$PROPER_DESC" + + for (( run_index=1; run_index <= $nruns; run_index++ )) do - global_result=1 - result_string="" - PROPER_DESC=`echo ${desc_array[$tags_array_index]} | sed -e "s@^.*Test cases.*(Test@Test@" -e "s@^ *(@@" -e"s/)$//" -e "s/),$//"` - echo_info "$PROPER_DESC" + temp_exec_log=$log_dir/test.$test_case_name.${tags_array[$tags_array_index]}.run_$run_index + echo "" > $temp_exec_log - for (( run_index=1; run_index <= $nruns; run_index++ )) - do - temp_exec_log=$log_dir/test.$test_case_name.${tags_array[$tags_array_index]}.run_$run_index - echo "" > $temp_exec_log + echo "Executing test case $test_case_name.${tags_array[$tags_array_index]}, Run Index = $run_index, Execution Log file = $temp_exec_log" - echo "Executing test case $test_case_name.${tags_array[$tags_array_index]}, Run Index = $run_index, Execution Log file = $temp_exec_log" + echo "-----------------------------------------------------------------------------" >> $temp_exec_log 2>&1 + echo "<EXECUTION LOG Test Case = $test_case_name.${tags_array[$tags_array_index]}, Run = $run_index >" >> $temp_exec_log 2>&1 + echo "Executing $main_exec $main_exec_args_array_index " | tee $temp_exec_log + { uname -a ; eval "$main_exec $main_exec_args_array_index" ;} >> $temp_exec_log 2>&1 - echo "-----------------------------------------------------------------------------" >> $temp_exec_log 2>&1 - echo "<EXECUTION LOG Test Case = $test_case_name.${tags_array[$tags_array_index]}, Run = $run_index >" >> $temp_exec_log 2>&1 - - if [ -n "$pre_exec_file" ]; then - { echo " Executing $pre_exec_file $pre_exec_args " - eval " $pre_exec_file $pre_exec_args " ; }>> $temp_exec_log 2>&1 + echo "</EXECUTION LOG Test Case = $test_case_name.${tags_array[$tags_array_index]}, Run = $run_index >" >> $temp_exec_log 2>&1 + cat $temp_exec_log >> $log_file 2>&1 - fi - echo "Executing $main_exec $main_exec_args_array_index " - echo "Executing $main_exec $main_exec_args_array_index " >> $temp_exec_log - { uname -a ; eval "$main_exec $main_exec_args_array_index" ;} >> $temp_exec_log 2>&1 - - echo "</EXECUTION LOG Test Case = $test_case_name.${tags_array[$tags_array_index]}, Run = $run_index >" >> $temp_exec_log 2>&1 - cat $temp_exec_log >> $log_file 2>&1 - - - result=1 - for search_expr in "${search_expr_array[@]}" - do - - search_result=`grep -E "$search_expr" $temp_exec_log` - - #echo "search_expr = $search_expr" - #echo "search_result = $search_result" - - if [ -z "$search_result" ]; then - let "result = result & 0" - else - let "result = result & 1" - fi - done - - #If we find a negative search result then there is crash of program and test case is failed even if above condition is true - search_result=`grep -iE "$search_expr_negative" $temp_exec_log` - if [ -n "$search_result" ]; then - result=0 - fi - let "global_result = global_result & result" - - #echo "result = $result" - - #this is a result of this run - #test_case_result="" - if [ "$result" -eq "0" ]; then - result_string=$result_string" Run_$run_index =FAIL" - echo_error "$test_case_name.${tags_array[$tags_array_index]} RUN = $run_index Result = FAIL" - fi - if [ "$result" -eq "1" ]; then - result_string=$result_string" Run_$run_index =PASS" - echo_success "$test_case_name.${tags_array[$tags_array_index]} RUN = $run_index Result = PASS" + result=1 + for search_expr in "${search_expr_array[@]}" + do + + search_result=`grep -E "$search_expr" $temp_exec_log` + + if [ -z "$search_result" ]; then + let "result = result & 0" + else + let "result = result & 1" fi + done - - done #End of for loop (nindex) + #If we find a negative search result then there is crash of program and test case is failed even if above condition is true + search_result=`grep -iE "$search_expr_negative" $temp_exec_log` + if [ -n "$search_result" ]; then + result=0 + fi + let "global_result = global_result & result" + + #echo "result = $result" - echo " Result String = $result_string" + if [ "$result" -eq "0" ]; then + result_string=$result_string" Run_$run_index =FAIL" + echo_error "$test_case_name.${tags_array[$tags_array_index]} RUN = $run_index Result = FAIL" + fi - if [ "$result_string" == "" ]; then - echo_error "execution $test_case_name.$compile_prog.${tags_array[$tags_array_index]} Run_Result = \"$result_string\" Result = FAIL" - xUnit_fail "execution" "$test_case_name.${tags_array[$tags_array_index]}" "FAIL" "$result_string" "$xmlfile_testcase" "$PROPER_DESC" - else - if [ "$global_result" == "0" ]; then - echo_error "execution $test_case_name.${tags_array[$tags_array_index]} Run_Result = \"$result_string\" Result = FAIL" - xUnit_fail "execution" "$test_case_name.${tags_array[$tags_array_index]}" "FAIL" "$result_string" "$xmlfile_testcase" "$PROPER_DESC" + if [ "$result" -eq "1" ]; then + result_string=$result_string" Run_$run_index =PASS" + echo_success "$test_case_name.${tags_array[$tags_array_index]} RUN = $run_index Result = PASS" fi - if [ "$global_result" == "1" ]; then - echo_success "execution $test_case_name.${tags_array[$tags_array_index]} Run_Result = \"$result_string\" Result = PASS " - xUnit_success "execution" "$test_case_name.${tags_array[$tags_array_index]}" "PASS" "$result_string" "$xmlfile_testcase" "$PROPER_DESC" - fi - fi - let "tags_array_index++" - done - fi - rm -fr $build_dir + done #End of for loop (nindex) + + echo " Result String = $result_string" + + if [ "$result_string" == "" ]; then + echo_error "execution $test_case_name.${tags_array[$tags_array_index]} {$PROPER_DESC} Run_Result = \"$result_string\" Result = FAIL" + xUnit_fail "execution" "$test_case_name.${tags_array[$tags_array_index]}" "FAIL" "$result_string" "$xmlfile_testcase" "$PROPER_DESC" + else + if [ "$global_result" == "0" ]; then + echo_error "execution $test_case_name.${tags_array[$tags_array_index]} {$PROPER_DESC} Run_Result = \"$result_string\" Result = FAIL" + xUnit_fail "execution" "$test_case_name.${tags_array[$tags_array_index]}" "FAIL" "$result_string" "$xmlfile_testcase" "$PROPER_DESC" + fi + + if [ "$global_result" == "1" ]; then + echo_success "execution $test_case_name.${tags_array[$tags_array_index]} {$PROPER_DESC} Run_Result = \"$result_string\" Result = PASS " + xUnit_success "execution" "$test_case_name.${tags_array[$tags_array_index]}" "PASS" "$result_string" "$xmlfile_testcase" "$PROPER_DESC" + fi + fi + + let "tags_array_index++" + done } -dbin=$OPENAIR_DIR/cmake_targets/autotests/bin dlog=$OPENAIR_DIR/cmake_targets/autotests/log - +exec_dir=$OPENAIR_DIR/cmake_targets/ran_build/build +xml_conf="$OPENAIR_DIR/cmake_targets/autotests/test_case_list.xml" function print_help() { echo_info ' -This program runs automated test case system for OpenAirInterface -You should have ubuntu 14.xx, updated, and the Linux kernel >= 3.14 +This program runs automated test cases Options --h | --help - This help +-c | --config + Set the configuration file to execute (default: $xml_conf) +-d | --exec-dir + Set directory of executables (default: $exec_dir) -g | --run-group Run test cases in a group. For example, ./run_exec_autotests "0101* 010102" --p - Use password for logging --np | --no-password - No need for a password --q | --quiet - Quiet mode; eliminate informational messages and comment prompts. --b | --bypass-compile - Bypass compilation of main-exec if already present +-h | --help + This help ' } function main () { -QUIET=0 -BYPASS_COMPILE=0 RUN_GROUP=0 -SET_PASSWORD=0 -passwd="" test_case_group="" test_case_group_array=() test_case_array=() echo_info "Note that the user should be sudoer for executing certain commands, for example loading kernel modules" -until [ -z "$1" ] - do - case "$1" in - -g | --run-group) - RUN_GROUP=1 - test_case_group=$2 - test_case_group=`sed "s/\+/\*/g" <<< "${test_case_group}"` # Replace + with * for bash string substituion - echo_info "Will execute test cases only in group $test_case_group" - shift 2;; - -p) - SET_PASSWORD=1 - passwd=$2 - shift 2;; - -np|--no-password) - SET_PASSWORD=1 - shift ;; - -q|--quiet) - QUIET=1 - shift ;; - -b|--bypass-compile) - BYPASS_COMPILE=1 - echo "bypass option ON" - shift ;; - -h | --help) - print_help - exit 1;; - *) - print_help - echo_fatal "Unknown option $1" - break;; - esac - done - -if [ "$SET_PASSWORD" != "1" ]; then - read -s -p "Enter Password: " passwd -fi +until [ -z "$1" ]; do + case "$1" in + -c|--config) + xml_conf=$2 + echo "setting xml_conf to $xml_conf" + shift 2;; + -d|--exec-dir) + exec_dir=$2 + echo "setting exec_dir to $exec_dir" + shift 2;; + -g | --run-group) + RUN_GROUP=1 + test_case_group=$2 + test_case_group=`sed "s/\+/\*/g" <<< "${test_case_group}"` # Replace + with * for bash string substituion + echo_info "Will execute test cases only in group $test_case_group" + shift 2;; + -h | --help) + print_help + exit 1;; + *) + print_help + echo_fatal "Unknown option $1" + break;; + esac +done tmpfile=`mktemp` -echo $passwd | $SUDO echo $HOME > $tmpfile +$SUDO echo $HOME > $tmpfile tstsudo=`cat $tmpfile` if [ "$tstsudo" != "$HOME" ]; then - echo "$USER might not have sudo privileges. Exiting" + echo_error "$USER does not have sudo privileges. Exiting" exit -else - echo "$USER has sudo privileges" fi -echo "tstsudo = $tstsudo" rm -fr $tmpfile -xml_conf="$OPENAIR_DIR/cmake_targets/autotests/test_case_list.xml" - -test_case_list=`xmlstarlet sel -T -t -m /testCaseList/testCase -s A:N:- "@id" -v "@id" -n $xml_conf` test_case_excl_list=`xmlstarlet sel -t -v "/testCaseList/TestCaseExclusionList" $xml_conf` -if [ $QUIET -eq 0 ]; then echo "Test Case Exclusion List = $test_case_excl_list "; fi - test_case_excl_list=`sed "s/\+/\*/g" <<< "$test_case_excl_list" ` # Replace + with * for bash string substituion - +echo "Test Case Exclusion List = $test_case_excl_list " read -a test_case_excl_array <<< "$test_case_excl_list" -if [ $QUIET -eq 0 ]; then echo "test_case_list = $test_case_list"; fi - -if [ $QUIET -eq 0 ]; then echo "Test Case Exclusion List = $test_case_excl_list \n"; fi - +test_case_list=`xmlstarlet sel -T -t -m /testCaseList/testCase -s A:N:- "@id" -v "@id" -n $xml_conf` +echo "test_case_list = $test_case_list" readarray -t test_case_array <<<"$test_case_list" read -a test_case_group_array <<< "$test_case_group" - for search_expr in "${test_case_array[@]}" do flag_run_test_case=0 # search if this test case needs to be executed if [ "$RUN_GROUP" -eq "1" ]; then for search_group in "${test_case_group_array[@]}" - do + do if [[ $search_expr == $search_group ]];then flag_run_test_case=1 echo_info "Test case $search_expr match found in group" @@ -513,10 +259,10 @@ for search_expr in "${test_case_array[@]}" fi for search_excl in "${test_case_excl_array[@]}" - do + do if [[ $search_expr == $search_excl ]];then flag_run_test_case=0 - if [ $QUIET -eq 0 ]; then echo_info "Test case $search_expr match found in test case excl group. Will skip the test case for execution..."; fi + echo_info "Test case $search_expr match found in test case excl group. Will skip the test case for execution..." break fi done @@ -528,70 +274,53 @@ for search_expr in "${test_case_array[@]}" fi name=$search_expr - class=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/class" $xml_conf` desc=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/desc" $xml_conf` - pre_compile_prog=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/pre_compile_prog" $xml_conf` - compile_prog=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/compile_prog" $xml_conf` - compile_prog_args=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/compile_prog_args" $xml_conf` - pre_exec=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/pre_exec" $xml_conf` - pre_exec_args=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/pre_exec_args" $xml_conf` - main_exec=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/main_exec" $xml_conf` + main_exec=$exec_dir/`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/main_exec" $xml_conf` main_exec_args=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/main_exec_args" $xml_conf` search_expr_true=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/search_expr_true" $xml_conf` search_expr_false=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/search_expr_false" $xml_conf` nruns=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/nruns" $xml_conf` - compile_prog_out=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/compile_prog_out" $xml_conf` tags=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/tags" $xml_conf` - test_config_file=`xmlstarlet sel -t -v "/testCaseList/testCase[@id='$search_expr']/test_config_file" $xml_conf` - echo "class = $class" echo "name = $name" echo "Description = $desc" - echo "pre_compile_prog = $pre_compile_prog" - echo "compile_prog = $compile_prog" - echo "compile_prog_args = $compile_prog_args" - echo "compile_prog_out = $compile_prog_out" - echo "pre_exec = $pre_exec" - echo "pre_exec_args = $pre_exec_args" echo "main_exec = $main_exec" echo "main_exec_args = $main_exec_args" echo "search_expr_true = $search_expr_true" echo "search_expr_false = $search_expr_false" + echo "tags = $tags" echo "nruns = $nruns" - #eval $pre_exec - compile_prog_out=`eval echo \"$compile_prog_out\"` - search_array_true=() IFS=\" #set the shell field separator - set -f #dont try to glob + set -f #dont try to glob #set -- $search_expr_true #split on $IFS for i in $search_expr_true do echo "i = $i" if [ -n "$i" ] && [ "$i" != " " ]; then search_array_true+=("$i") #echo "inside i = \"$i\" " - fi + fi done - unset IFS + unset IFS #echo "arg1 = ${search_array_true[0]}" #echo " arg2 = ${search_array_true[1]}" - if [ "$class" == "compilation" ]; then - test_compile "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags" "$desc" - elif [ "$class" == "execution" ]; then - echo \'passwd\' | $SUDO killall -q oaisim_nos1 - test_compile_and_run "$name" "$compile_prog" "$compile_prog_args" "$pre_exec" "$pre_exec_args" "$main_exec" "$main_exec_args" "search_array_true[@]" "$search_expr_false" "$nruns" "$pre_compile_prog" "$class" "$compile_prog_out" "$tags" "$mypassword" "$test_config_file" "$BYPASS_COMPILE" "$desc" - else - echo "Unexpected class of test case...Skipping the test case $name ...." - fi - done - - + test_run \ + "$name" \ + "$main_exec" \ + "$main_exec_args" \ + "search_array_true[@]" \ + "$search_expr_false" \ + "$nruns" \ + "$tags" \ + "$test_config_file" \ + "$desc" + done } uname -a @@ -599,10 +328,4 @@ uname -a main "$@" xUnit_write "$results_file" - echo "Test Results are written to $results_file" - -exit - - - diff --git a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py b/cmake_targets/autotests/run_exec_lte-softmodem_tests.py deleted file mode 100755 index 65bcfd5af89be73c17fed0602dda18b206eddb63..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/run_exec_lte-softmodem_tests.py +++ /dev/null @@ -1,2634 +0,0 @@ -#! /usr/bin/python -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \author Rohit Gupta - Benoit ROBERT (benoit.robert@syrtem.com) -# \version 0.1 -# @ingroup _test - -# \Changelog -# 2016-11-18 : -# - Add progess bar during test execution update_progress() - -import tempfile -import threading -import sys -import traceback -import wave -import os -import time -import datetime -import getpass -import math #from time import clock -import xml.etree.ElementTree as ET -import re - -#from dict2xml import dict2xml as xmlify - -from colorama import Fore, Back, Style - -import numpy as np - -import log - -from openair import * - -import paramiko - -import subprocess -import commands -sys.path.append('/opt/ssh') -sys.path.append(os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/tools/')) - -from lib_autotest import * -import ssh -from ssh import SSHSession -import argparse - - -# update_progress() : Displays or updates a console progress bar -## Accepts a float between 0 and 1. Any int will be converted to a float. -## A value under 0 represents a 'halt'. -## A value at 1 or bigger represents 100% -def update_progress(progress, prefix_string): - barLength = 20 # Modify this to change the length of the progress bar - status = "" - #print "progress = "+ str(progress) - if isinstance(progress, int): - progress = float(progress) - if not isinstance(progress, float): - progress = 0 - status = "error: progress var must be float\r\n" - if progress < 0: - progress = 0 - status = "Halt...\r\n" - if progress >= 1: - progress = 1 - status = "Done...\r\n" - block = int(round(barLength*progress)) - text = "\r"+prefix_string+" [{0}] {1}% {2}".format( "="*block + " "*(barLength-block), progress*100, status) - sys.stdout.write(text) - sys.stdout.flush() - - -def exit_prog(exit_val): - print(Style.RESET_ALL), - sys.exit(exit_val) - -# \brief write a string to a file -# \param filename name of file -# \param string string to write -# \mode file opening mode (default=write) -def write_file(filename, string, mode="w"): - text_file = open(filename, mode) - text_file.write(string) - text_file.close() - -# \brief function to check if test case passed throughput test -# \param filename name of file which has throughput results (usually from iperf -s ... -# \param min_tput minimum throughput -# \param max_tuput maximum throughput -# \param average average throughput -# \param min_duration minimum duration of throughput -#The throughput values found in file must be higher than values from from arguments 2,3,4,5 -#The function returns True if throughput conditions are saisfied else it returns fails -def tput_test(filename, min_tput, max_tput, average, min_duration): - - if os.path.exists(filename): - with open (filename, "r") as myfile: - data=myfile.read() - p=re.compile('(\d*.\d*) Mbits/sec') - array=p.findall(data) - array = [ float(x) for x in array ] - duration = array.__len__() - if duration !=0: - min_list = min(array) - max_list = max(array) - average_list = np.mean(array) - else: - min_list = 0 - max_list = 0 - average_list=0 - tput_string=' ( '+ "min=%0.2f" % min_list + ' Mbps / ' + "max=%0.2f" % max_list + ' Mbps / ' + "avg=%0.2f" % average_list + ' Mbps / ' + "dur=%0.2f" % duration + ' s) ' - if (min_list >= min_tput and max_list >= max_tput and average_list >= average and duration >= min_duration): - return True , tput_string - else: - return False , tput_string - else: - return False , tput_string - -# \brief Convert string to float or return None if there is exception -def try_convert_to_float(string, fail=None): - try: - return float(string) - except Exception: - return fail; - -# \brief get throughput statistics from log file -# \param search_expr search expression found in test_case_list.xml file -# \param logfile_traffic logfile which has traffic statistics -def tput_test_search_expr (search_expr, logfile_traffic): - result=0 - tput_string='' - if search_expr !='': - if search_expr.find('throughput_test')!= -1 : - p= re.compile('min\s*=\s*(\d*.\d*)\s*Mbits/sec') - min_tput=p.findall(search_expr) - if min_tput.__len__()==1: - min_tput = min_tput[0] - else: - min_tput = None - - p= re.compile('max\s*=\s*(\d*.\d*)\s*Mbits/sec') - max_tput=p.findall(search_expr) - if max_tput.__len__()==1: - max_tput = max_tput[0] - else: - max_tput = None - - p= re.compile('average\s*=\s*(\d*.\d*)\s*Mbits/sec') - avg_tput=p.findall(search_expr) - if avg_tput.__len__()==1: - avg_tput=avg_tput[0] - else: - avg_tput = None - - p= re.compile('duration\s*=\s*(\d*.\d*)\s*s') - duration=p.findall(search_expr) - if duration.__len__()==1: - duration = duration[0] - else: - duration = None - - min_tput = try_convert_to_float(min_tput) - max_tput = try_convert_to_float(max_tput) - avg_tput = try_convert_to_float(avg_tput) - duration = try_convert_to_float(duration) - - if (min_tput != None and max_tput != None and avg_tput != None and duration != None ): - result, tput_string = tput_test(logfile_traffic, min_tput, max_tput, avg_tput, duration) - else: - result=1 - - return result, tput_string - -# \brief function to copy files to/from remote machine -# \param username user with which to make sftp connection -# \param password password of user -# \param hostname host to connect -# \ports port of remote machine on which server is listening -# \paramList This is list of operations as a set {operation: "get/put", localfile: "filename", remotefile: "filename" -# \param logfile Ignored currently and set once at the beginning of program -def sftp_module (username, password, hostname, ports, paramList,logfile): - #localD = localfile - #remoteD = remotefile - #fd, paramiko_logfile = tempfile.mkstemp() - #res = os.close(fd ) - #paramiko logfile path should not be changed with multiple calls. The logs seem to in first file regardless - error = "" - #The lines below are outside exception loop to be sure to terminate the test case if the network connectivity goes down or there is authentication failure - transport = paramiko.Transport((hostname, ports)) - transport.connect(username = username, password = password) - sftp = paramiko.SFTPClient.from_transport(transport) - # index =0 - for param in paramList: - try: - operation = param["operation"] - localD = param["localfile"] - remoteD = param["remotefile"] - if operation == "put": - sftp.put(remotepath=remoteD, localpath=localD) - elif operation == "get": - sftp.get(remotepath=remoteD, localpath=localD) - else : - print "sftp_module: unidentified operation:<" + operation + "> Exiting now" - print "hostname = " + hostname - print "ports = " + ports - print "localfile = " + localD - print "remotefile = " + remoteD - print "operation = " + operation - sys.exit() - except Exception, e: - error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + '\n username = ' + username + '\n hostname = ' + hostname + '\n localfile = ' + localD + '\n remotefile = ' + remoteD + '\n operation = ' + operation + '\nlogfile = ' + logfile + '\n ports = ' + str(ports) + '\n' - error = error + traceback.format_exc() - print error - - sftp.close() - transport.close() - res = os.system('\n echo \'SFTP Module Log for Machine: <' + hostname + '> starts...\' >> ' + logfile + ' 2>&1 ') - res = os.system('cat ' + paramiko_logfile + ' >> ' + logfile + ' 2>&1 \n') - write_file(logfile, error, "a") - res = os.system('\n echo \'SFTP Module Log for Machine: <' + hostname + '> ends...\' >> ' + logfile + ' 2>&1 \n') - -# \brief bash script stub put at the end of scripts to terminate it -# \param timeout_cmd terminate script after timeout_cmd seconds -# \param terminate_missing_procs if True terminate all the processes launched by script if one of them terminates prematurely (due to error) -def finalize_deploy_script (timeout_cmd, terminate_missing_procs='False'): - cmd = 'declare -i timeout_cmd='+str(timeout_cmd) + '\n' - if terminate_missing_procs == 'True': - cmd = cmd + """ - #The code below checks if one the processes launched in background has crashed. - #If it does, then the code below terminates all the child processes created by this script - declare -i wakeup_interval=1 - declare -i step=0 - echo \"Array pid = ${array_exec_pid[@]}\" - while [ "$step" -lt "$timeout_cmd" ] - do - declare -i break_while_loop=0 - #Iterate over each process ID in array_exec_pid - for i in "${array_exec_pid[@]}" - do - numchild=`pstree -p $i | perl -ne 's/\((\d+)\)/print " $1"/ge' |wc -w` - echo "PID = $i, numchild = $numchild" - if [ "$numchild" -eq "0" ] ; then - echo "Process ID $i has finished unexpectedly. Now preparing to kill all the processes " - break_while_loop=1 - break - fi - done - if [ "$break_while_loop" -eq "1" ] ; then - break - fi - step=$(( step + wakeup_interval )) - sleep $wakeup_interval - done - echo "Final time step (Duration of test case) = $step " - date - """ - else: - #We do not terminate the script if one of the processes has existed prematurely - cmd = cmd + 'sleep ' + str(timeout_cmd) + ' ; date \n' - - return cmd - -# \brief run python script and update config file params of test case -# \param oai module with already open connection -# \param config_string config string taken from xml file -# \param logdirRepo directory of remote repository -# \param python_script python script location -def update_config_file(oai, config_string, logdirRepo, python_script): - cmd="" - if config_string : - stringArray = config_string.splitlines() - #python_script = '$OPENAIR_DIR/targets/autotests/tools/search_repl.py' - for string in stringArray: - #split the string based on space now - string1=string.split() - cmd = cmd + 'python ' + python_script + ' ' + logdirRepo+'/'+string1[0] + ' ' + string1[1] + ' '+ string1[2] + '\n' - #cmd = cmd + 'perl -p -i -e \'s/'+ string1[1] + '\\s*=\\s*"\\S*"\\s*/' + string1[1] + ' = "' + string1[2] +'"' + '/g\' ' + logdirRepo + '/' +string1[0] + '\n' - return cmd - #result = oai.send_recv(cmd) - -# \brief thread safe sshsession wrapper due to occasional connection issues with ssh -# \param machine name of machine -# \param username user login for remote machine -# \param key_file file name which has keys to enable passwordless login -# \param password password for remote machine -# \param logdir_remote remote directory -# \param logdir_local_base local directory -# \param operation operation to perform (get_all, put_all) transfers recursively for directories -def SSHSessionWrapper(machine, username, key_file, password, logdir_remote, logdir_local_base, operation): - max_tries = 10 - i=0 - while i <= max_tries: - i = i +1 - try: - ssh = SSHSession(machine , username, key_file, password) - if operation == "get_all": - ssh.get_all(logdir_remote , logdir_local_base) - elif operation == "put_all": - ssh.put_all(logdir_local_base, logdir_remote ) - else: - print "Error: Uknown operation in SSHSessionWrapper. Exiting now..." - sys.exit(1) - break - except Exception, e: - error='' - error = error + ' In Class = function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + '\n username = ' + username + '\n machine = ' + machine + '\n logdir_remote = ' + logdir_remote + '\n logdir_local_base = ' + logdir_local_base - error = error + traceback.format_exc() - print error - print " Retrying again in 1 seconds" - time.sleep(1) - print "Continuing ..." - if i ==max_tries: - print "Fatal Error: Max no of retries reached. Exiting now..." - sys.exit(1) - - - -# \briefFunction to clean old programs that might be running from earlier execution -# \param oai - parameter for making connection to machine -# \parm programList list of programs that must be terminated before execution of any test case -# \param CleanUpAluLteBox program to terminate AlU Bell Labs LTE Box -# \param ExmimoRfStop String to stop EXMIMO card (specified in test_case_list.xml) -def cleanOldPrograms(oai, programList, CleanUpAluLteBox, ExmimoRfStop, logdir, logdirOAI5GRepo): - cmd = 'killall -9 ' + programList - result = oai.send(cmd, True) -# print "\t\t > "+cmd -# print "\t\t < "+result - -# print "Killing old programs on ..." + result - programArray = programList.split() - programListJoin = '|'.join(programArray) - cmd = " ( date ;echo \"Starting cleaning old programs.. \" ; dmesg|tail ; echo \"Current disk space.. \" ; df -h )>& " + logdir + "/oai_test_setup_cleanup.log.`hostname` 2>&1 ; sync" - result=oai.send_recv(cmd) -# print "\t\t > "+cmd -# print "\t\t < "+result - - cmd = cleanupOldProgramsScript + ' ' + '\''+programListJoin+'\'' - #result = oai.send_recv(cmd) - #print result - result = oai.send_expect_false(cmd, 'Match found', False) -# print "\t\t > "+cmd -# print "\t\t < "+result - -# print "Looking for old programs..." + result - res=oai.send_recv(CleanUpAluLteBox, True) -# print "\t\t > "+CleanUpAluLteBox -# print "\t\t < "+res - cmd= " echo \"Starting EXmimoRF Stop... \" >> " + logdir + "/oai_test_setup_cleanup.log.`hostname` 2>&1 ; sync "; - result = oai.send_recv(cmd) -# print "\t\t > "+cmd -# print "\t\t < "+result - cmd = "( " + "cd " + logdirOAI5GRepo + " ; source oaienv ; " + ExmimoRfStop + " ) >> " + logdir + "/oai_test_setup_cleanup.log.`hostname` 2>&1 ; sync " -# print "cleanoldprograms cmd = " + cmd - res=oai.send_recv(cmd, False, timeout=600) -# print "\t\t > "+cmd -# print "\t\t < "+res - - cmd= " echo \"Stopping EXmimoRF Stop... \" >> " + logdir + "/oai_test_setup_cleanup.log.`hostname` 2>&1 ; sync "; - result = oai.send_recv(cmd) -# print "\t\t > "+cmd -# print "\t\t < "+result - - #res = oai.send_recv(ExmimoRfStop, False) - cmd = " ( date ;echo \"Finished cleaning old programs.. \" ; dmesg | tail)>> $HOME/.oai_test_setup_cleanup.log.`hostname` 2>&1 ; sync" - res=oai.send_recv(cmd) -# print "\t\t > "+cmd -# print "\t\t < "+res - -# \brief Class thread to launch a generic command on remote machine -# \param threadID number of thread (for book keeping) -# \param threadname string of threadname (for book keeping) -# \param machine machine name on which to run the command -# \param username username with which to login -# \param password password with which to login -# \param cmd command as a string to run on remote machine -# \parma sudo if True sudo is set -# \param timeout timeout of command in seconds -class oaiThread (threading.Thread): - def __init__(self, threadID, threadname, machine, username, password, cmd, sudo, timeout): - threading.Thread.__init__(self) - self.threadID = threadID - self.threadname = threadname - self.machine = machine - self.username = username - self.password = password - self.cmd = cmd - self.sudo = sudo - self.timeout = timeout - def run(self): - try: - oai = openair('localdomain',self.machine) - oai.connect(self.username, self.password) - # print "Starting " + self.threadname + " on machine " + self.machine - result = oai.send_recv(self.cmd, self.sudo, self.timeout) - #print "result = " + result - #print "Exiting " + self.threadname - oai.disconnect() - except Exception, e: - error='' - error = error + ' In class oaiThread, function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + '\n threadID = ' + str(self.threadID) + '\n threadname = ' + self.threadname + '\n timeout = ' + str(self.timeout) + '\n machine = ' + self.machine + '\n cmd = ' + self.cmd + '\n timeout = ' + str(self.timeout) + '\n username = ' + self.username + '\n' - error = error + traceback.format_exc() - print error - - -# \brief This class runs test cases with class {execution, compilatation} -# \param threadID number of thread (for book keeping) -# \param name string of threadname (for book keeping) -# \param machine machine name on which to run the command -# \param logdirOAI5GRepo directory on remote machine which as openairinterface5g repo installed -# \param testcasename name of test case to run on remote machine -# \param CleanupAluLteBox string that contains commands to stop ALU Bell Labs LTEBox (specified in test_case_list.xml) -# \param user username with which to login -# \param password password with which to login -# \param timeout timeout of command in seconds -# \param ExmimoRfStop command to stop EXMIMO Card -class testCaseThread_generic (threading.Thread): - def __init__(self, threadID, name, machine, logdirOAI5GRepo, testcasename,oldprogramList, CleanupAluLteBox, user, password, timeout, ExmimoRfStop): - threading.Thread.__init__(self) - self.threadID = threadID - self.name = name - self.testcasename = testcasename - self.timeout = timeout - self.machine = machine - self.logdirOAI5GRepo = logdirOAI5GRepo - self.oldprogramList = oldprogramList - self.CleanupAluLteBox = CleanupAluLteBox - self.password=password - self.ExmimoRfStop = ExmimoRfStop - self.user = user - def run(self): - try: - mypassword='' - #addsudo = 'echo \'' + mypassword + '\' | sudo -S -E ' - addpass = 'echo \'' + mypassword + '\' | ' - #user = getpass.getuser() - print "Starting test case : " + self.testcasename + " On machine " + self.machine + " timeout = " + str(self.timeout) - oai = openair('localdomain',self.machine) - oai.connect(self.user, self.password) - #cleanOldPrograms(oai, self.oldprogramList, self.CleanupAluLteBox, self.ExmimoRfStop) - logdir_local = os.environ.get('OPENAIR_DIR') - logdir_local_testcase = logdir_local +'/cmake_targets/autotests/log/'+ self.testcasename - logdir_local_base = logdir_local +'/cmake_targets/autotests/log/' - logdir_remote_testcase = self.logdirOAI5GRepo + '/cmake_targets/autotests/log/' + self.testcasename - logdir_remote = self.logdirOAI5GRepo + '/cmake_targets/autotests/log/' - logfile_task_testcasename = logdir_local_testcase + '/test_task' + '_' + self.testcasename + '_.log' - logfile_task_testcasename_out = logdir_remote + '/test_task_out' + '_' + self.testcasename + '_.log' - #print "logdir_local_testcase = " + logdir_local_testcase - #print "logdir_remote_testcase = " + logdir_remote_testcase - #if os.path.exists(logdir_local_testcase) == True : - # os.removedirs(logdir_local_testcase) - #os.mkdir(logdir_local_testcase) - os.system("rm -fr " + logdir_local_testcase ) - os.system("mkdir -p " + logdir_local_testcase) - cmd = "mkdir -p " + logdir_remote_testcase - res = oai.send_recv(cmd, False, self.timeout) - #print "res = " + res - - cmd = "( cd " + self.logdirOAI5GRepo + " \n " - cmd = cmd + "source oaienv \n" - cmd = cmd + "$OPENAIR_DIR/cmake_targets/autotests/run_exec_autotests.bash --run-group \"" + self.testcasename + "\" -p \'\'" - cmd = cmd + " ) >& " + logfile_task_testcasename_out + " ; " + "mkdir -p " + logdir_remote_testcase + "; mv " + logfile_task_testcasename_out + " " +logdir_remote_testcase - - #print "cmd = " + cmd - res = oai.send_recv(cmd, False, self.timeout) - #print "res = " + res - #print "ThreadID = " + str(self.threadID) + "ThreadName: " + self.name + " testcasename: " + self.testcasename + "Execution Result = " + res - write_file(logfile_task_testcasename, cmd, mode="w") - #Now we copy all the remote files - #ssh = SSHSession(self.machine , username=user, key_file=None, password=self.password) - #ssh.get_all(logdir_remote_testcase , logdir_local_base) - SSHSessionWrapper(self.machine, self.user, None, self.password, logdir_remote_testcase, logdir_local_base, "get_all") - print "Finishing test case : " + self.testcasename + " On machine " + self.machine - #cleanOldPrograms(oai, self.oldprogramList, self.CleanupAluLteBox, self.ExmimoRfStop) - #oai.kill(user,mypassword) - oai.disconnect() - except Exception, e: - error='' - error = error + ' In Class = testCaseThread_generic, function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + '\n threadID = ' + str(self.threadID) + '\n threadName = ' + self.name + '\n testcasename = ' + self.testcasename + '\n machine = ' + self.machine + '\n logdirOAI5GRepo = ' + self.logdirOAI5GRepo + '\n' + '\n timeout = ' + str(self.timeout) + '\n user = ' + self.user - error = error + traceback.format_exc() - print error - print "Continuing with next test case..." - #sys.exit() - - - -# \bried function to run a command as a sudo -# \param cmd command as a string -# \param password password to be supplied -def addsudo (cmd, password=""): - cmd = 'echo \'' + password + '\' | sudo -S -E bash -c \' ' + cmd + '\' ' - return cmd - -# \brief handler for executing test cases (compilation, execution) -# \param name of testcase -# \param threadListGeneric list of threads which are already running on remote machines -# \param oldprogramList list of programs which must be terminated before running a test case -# \param logdirOAI5GRepo directory on remote machine which as openairinterface5g repo installed -# \param MachineList list of all machines on which generic test cases can be run -# \param user username with which to login -# \param password password with which to login -# \param CleanupAluLteBox string that contains commands to stop ALU Bell Labs LTEBox (specified in test_case_list.xml) -# \param timeout timeout of command in seconds -# \param ExmimoRfStop command to stop EXMIMO Card -def handle_testcaseclass_generic (testcasename, threadListGeneric, oldprogramList, logdirOAI5GRepo, MachineList, user, password, CleanupAluLteBox,timeout, ExmimoRfStop): - try: - mypassword=password - MachineListFree=[] - threadListNew=[] - while MachineListFree.__len__() == 0 : - MachineListBusy=[] - MachineListFree=[] - threadListNew=[] - #first we need to find the list of free machines that we could run our test case - if threadListGeneric.__len__() ==0 : - #This means no thread is started yet - MachineListFree = MachineList[:] - else : - for param in threadListGeneric : - thread_id = param["thread_id"] - machine = param["Machine"] - testcasenameold = param["testcasename"] - thread_id.join(1) - if thread_id.isAlive() == True: - threadListNew.append(param) - print "thread_id is alive: testcasename: " + testcasenameold + " on machine "+ machine - if machine not in MachineListBusy: - MachineListBusy.append(machine) - else : - print "thread_id is finished: testcasename: " + testcasenameold + " on machine " + machine - #threadListGeneric.remove(param) - #if machine not in MachineListFree: - # MachineListFree.append(machine) - #Now we check if there is at least one free machine - MachineListFree = MachineList[:] - for machine in MachineListBusy: - if machine in MachineListFree: - MachineListFree.remove(machine) - print "MachineListFree = " + ','.join(MachineListFree) - print "MachineListBusy = " + ','.join(MachineListBusy) - print "MachineList = " + ','.join(MachineList) - machine = MachineListFree[0] - thread = testCaseThread_generic(1,"Generic Thread_"+testcasename+"_"+ "machine_", machine, logdirOAI5GRepo, testcasename, oldprogramList, CleanupAluLteBox, user, password, timeout, ExmimoRfStop) - param={"thread_id":thread, "Machine":machine, "testcasename":testcasename} - thread.start() - threadListNew.append(param) - return threadListNew - except Exception, e: - error='' - error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + '\n testcasename = ' + testcasename + '\n logdirOAI5GRepo = ' + logdirOAI5GRepo + '\n MachineList = ' + ','.join(MachineList) + '\n timeout = ' + str(timeout) + '\n' + 'user = ' + user - error = error + traceback.format_exc() - print error - print "Continuing..." - #sys.exit(1) - -# \brief Blocking wait for all threads related to generic testcase execution, class (compilation and execution) -# \param threadListGeneric list of threads which are running on remote machines -# \param timeout time to wait on threads in seconds -def wait_testcaseclass_generic_threads(threadListGeneric, timeout = 1): - threadListGenericNew=[] - for param in threadListGeneric: - thread_id = param["thread_id"] - machine = param["Machine"] - testcasenameold = param["testcasename"] - thread_id.join(timeout) - if thread_id.isAlive() == True: - threadListGenericNew.append(param) - print "thread_id on machine: " + machine + " is still alive: testcasename: " + testcasenameold - print " Exiting now..." - sys.exit(1) - else: - print "thread_id on machine: " + machine + " is stopped: testcasename: " + testcasenameold - #threadListGeneric.remove(param) - return threadListGenericNew - - -# \brief handler for executing test cases (lte-softmodem) -# \param testcase name of testcase -# \param oldprogramList list of programs which must be terminated before running a test case -# \param logdirOAI5GRepo directory on remote machine which has openairinterface5g repo installed -# \param logdirOpenaircnRepo directory on remote machine which has openair-cn repo installed -# \param MachineList list of all machines on which test cases can be run -# \param user username with which to login -# \param password password with which to login -# \param CleanupAluLteBox string that contains commands to stop ALU Bell Labs LTEBox (specified in test_case_list.xml) -# \param ExmimoRfStop command to stop EXMIMO Card -# \param nruns_lte-softmodem global parameter to override number of runs (nruns) within the test case -def handle_testcaseclass_softmodem (testcase, oldprogramList, logdirOAI5GRepo , logdirOpenaircnRepo, MachineList, user, password, CleanUpAluLteBox, ExmimoRfStop, nruns_lte_softmodem, GitOAI5GRepoBranch, GitOpenaircnRepoBranch,timeout_cmd): - #We ignore the password sent to this function for secuirity reasons for password present in log files - #It is recommended to add a line in /etc/sudoers that looks something like below. The line below will run sudo without password prompt - # your_user_name ALL=(ALL:ALL) NOPASSWD: ALL - mypassword='' - #addsudo = 'echo \'' + mypassword + '\' | sudo -S -E ' - addpass = 'echo \'' + mypassword + '\' | ' - #user = getpass.getuser() - testcasename = testcase.get('id') - testcaseclass = testcase.findtext('class',default='') - if timeout_cmd == '': - timeout_cmd = testcase.findtext('TimeOut_cmd',default='') - timeout_cmd = int(float(timeout_cmd)) - #Timeout_thread is more than that of cmd to have room for compilation time, etc - timeout_thread = timeout_cmd + 300 - if nruns_lte_softmodem == '': - nruns = testcase.findtext('nruns',default='') - else: - nruns = nruns_lte_softmodem - nruns = int(float(nruns)) - tags = testcase.findtext('tags',default='') - - RRHMachine = testcase.findtext('RRH',default='') - RRH_config_file = testcase.findtext('RRH_config_file',default='') - RRH_compile_prog = testcase.findtext('RRH_compile_prog',default='') - RRH_compile_prog_args = testcase.findtext('RRH_compile_prog_args',default='') - RRH_pre_exec = testcase.findtext('RRH_pre_exec',default='') - RRH_pre_exec_args = testcase.findtext('RRH_pre_exec_args',default='') - RRH_main_exec = testcase.findtext('RRH_main_exec',default='') - RRH_main_exec_args = testcase.findtext('RRH_main_exec_args',default='') - RRH_terminate_missing_procs = testcase.findtext('RRH_terminate_missing_procs',default='False') - RRH_branch = testcase.findtext('RRH_branch',default=GitOAI5GRepoBranch) - - eNBMachine = testcase.findtext('eNB',default='') - eNB_config_file = testcase.findtext('eNB_config_file',default='') - eNB_compile_prog = testcase.findtext('eNB_compile_prog',default='') - eNB_compile_prog_args = testcase.findtext('eNB_compile_prog_args',default='') - eNB_pre_exec = testcase.findtext('eNB_pre_exec',default='') - eNB_pre_exec_args = testcase.findtext('eNB_pre_exec_args',default='') - eNB_main_exec = testcase.findtext('eNB_main_exec',default='') - eNB_main_exec_args = testcase.findtext('eNB_main_exec_args',default='') - eNB_traffic_exec = testcase.findtext('eNB_traffic_exec',default='') - eNB_traffic_exec_args = testcase.findtext('eNB_traffic_exec_args',default='') - eNB_terminate_missing_procs = testcase.findtext('eNB_terminate_missing_procs',default='False') - eNB_search_expr_true = testcase.findtext('eNB_search_expr_true','') - if re.compile('\w+').match(eNB_search_expr_true) != None: - eNB_search_expr_true = eNB_search_expr_true + ' duration=' + str(timeout_cmd-90) + 's' - eNB_branch = testcase.findtext('eNB_branch',default=GitOAI5GRepoBranch) - - UEMachine = testcase.findtext('UE',default='') - UE_config_file = testcase.findtext('UE_config_file',default='') - UE_compile_prog = testcase.findtext('UE_compile_prog',default='') - UE_compile_prog_args = testcase.findtext('UE_compile_prog_args',default='') - UE_pre_exec = testcase.findtext('UE_pre_exec',default='') - UE_pre_exec_args = testcase.findtext('UE_pre_exec_args',default='') - UE_main_exec = testcase.findtext('UE_main_exec',default='') - UE_main_exec_args = testcase.findtext('UE_main_exec_args',default='') - UE_traffic_exec = testcase.findtext('UE_traffic_exec',default='') - UE_traffic_exec_args = testcase.findtext('UE_traffic_exec_args',default='') - UE_terminate_missing_procs = testcase.findtext('UE_terminate_missing_procs',default='False') - UE_search_expr_true = testcase.findtext('UE_search_expr_true','') - UE_stop_script = testcase.findtext('UE_stop_script','') - if re.compile('\w+').match(UE_search_expr_true) != None: - UE_search_expr_true = UE_search_expr_true + ' duration=' + str(timeout_cmd-90) + 's' - UE_branch = testcase.findtext('UE_branch',default=GitOAI5GRepoBranch) - - EPCMachine = testcase.findtext('EPC',default='') - EPC_config_file = testcase.findtext('EPC_config_file',default='') - EPC_compile_prog = testcase.findtext('EPC_compile_prog',default='') - EPC_compile_prog_args = testcase.findtext('EPC_compile_prog_args',default='') - HSS_compile_prog = testcase.findtext('HSS_compile_prog',default='') - HSS_compile_prog_args = testcase.findtext('HSS_compile_prog_args',default='') - - EPC_pre_exec= testcase.findtext('EPC_pre_exec',default='') - EPC_pre_exec_args = testcase.findtext('EPC_pre_exec_args',default='') - EPC_main_exec= testcase.findtext('EPC_main_exec',default='') - EPC_main_exec_args = testcase.findtext('EPC_main_exec_args',default='') - HSS_main_exec= testcase.findtext('HSS_main_exec',default='') - HSS_main_exec_args = testcase.findtext('HSS_main_exec_args',default='') - EPC_traffic_exec = testcase.findtext('EPC_traffic_exec',default='') - EPC_traffic_exec_args = testcase.findtext('EPC_traffic_exec_args',default='') - EPC_terminate_missing_procs = testcase.findtext('EPC_terminate_missing_procs',default='False') - EPC_search_expr_true = testcase.findtext('EPC_search_expr_true','') - EPC_branch = testcase.findtext('EPC_branch',default=GitOpenaircnRepoBranch) - - if re.compile('\w+').match(EPC_search_expr_true) != None: - EPC_search_expr_true = EPC_search_expr_true + ' duration=' + str(timeout_cmd-90) + 's' - - index_eNBMachine = MachineList.index(eNBMachine) - index_UEMachine = MachineList.index(UEMachine) - index_EPCMachine = MachineList.index(EPCMachine) - cmd = 'cd ' + logdirOAI5GRepo + '; source oaienv ; env|grep OPENAIR' - oai_eNB = openair('localdomain', eNBMachine) - oai_eNB.connect(user, password) - res= oai_eNB.send_recv(cmd) - oai_UE = openair('localdomain', UEMachine) - oai_UE.connect(user, password) - res = oai_eNB.send_recv(cmd) - oai_EPC = openair('localdomain', EPCMachine) - oai_EPC.connect(user, password) - res = oai_eNB.send_recv(cmd) - if RRHMachine != '': - cmd = 'cd ' + logdirOAI5GRepo + '; source oaienv ; env|grep OPENAIR' - index_RRHMachine = MachineList.index(RRHMachine) - oai_RRH = openair('localdomain', RRHMachine) - oai_RRH.connect(user, password) - res= oai_RRH.send_recv(cmd) - #cleanOldPrograms(oai_eNB, oldprogramList, CleanUpAluLteBox, ExmimoRfStop) - #cleanOldPrograms(oai_UE, oldprogramList, CleanUpAluLteBox, ExmimoRfStop) - #cleanOldPrograms(oai_EPC, oldprogramList, CleanUpAluLteBox, ExmimoRfStop) - logdir_local = os.environ.get('OPENAIR_DIR') - if logdir_local is None: - print "Environment variable OPENAIR_DIR not set correctly" - sys.exit() - - #Make the log directory of test case - #cmd = 'mkdir -p ' + logdir_eNB - #result = oai_eNB.send_recv(cmd) - #cmd = 'mkdir -p ' + logdir_UE - #result = oai_UE.send_recv(cmd) - #cmd = 'mkdir -p ' + logdir_EPC - #result = oai_EPC.send_recv(cmd) - - print "Updating the config files for ENB/UE/EPC..." - #updating the eNB/UE/EPC configuration file from the test case - #update_config_file(oai_eNB, eNB_config_file, logdirOAI5GRepo) - #update_config_file(oai_UE, UE_config_file, logdirOAI5GRepo) - #update_config_file(oai_EPC, EPC_config_file, logdirOpenaircnRepo) - test_result=1 - test_result_string='' - start_time=time.time() - for run in range(0,nruns): - run_result=1 - run_result_string='' - logdir_eNB = logdirOAI5GRepo+'/cmake_targets/autotests/log/'+ testcasename + '/run_' + str(run) - logdir_RRH = logdirOAI5GRepo+'/cmake_targets/autotests/log/'+ testcasename + '/run_' + str(run) - logdir_UE = logdirOAI5GRepo+'/cmake_targets/autotests/log/'+ testcasename + '/run_' + str(run) - logdir_EPC = logdirOpenaircnRepo+'/TEST/autotests/log/'+ testcasename + '/run_' + str(run) - logdir_local_testcase = logdir_local + '/cmake_targets/autotests/log/'+ testcasename + '/run_' + str(run) - #Make the log directory of test case - if RRHMachine != '': - cmd = 'rm -fr ' + logdir_RRH + ' ; mkdir -p ' + logdir_RRH - result = oai_RRH.send_recv(cmd) - cmd = 'rm -fr ' + logdir_eNB + ' ; mkdir -p ' + logdir_eNB - result = oai_eNB.send_recv(cmd) - cmd = 'rm -fr ' + logdir_UE + ' ; mkdir -p ' + logdir_UE - result = oai_UE.send_recv(cmd) - cmd = 'rm -fr ' + logdir_EPC + '; mkdir -p ' + logdir_EPC - result = oai_EPC.send_recv(cmd) - cmd = ' rm -fr ' + logdir_local_testcase + ' ; mkdir -p ' + logdir_local_testcase - result = os.system(cmd) - - if RRHMachine != '': - logfile_compile_RRH = logdir_RRH + '/RRH_compile' + '_' + str(run) + '_.log' - logfile_exec_RRH = logdir_RRH + '/RRH_exec' + '_' + str(run) + '_.log' - logfile_pre_exec_RRH = logdir_RRH + '/RRH_pre_exec' + '_' + str(run) + '_.log' - logfile_task_RRH_compile_out = logdir_RRH + '/RRH_task_compile_out' + '_' + str(run) + '_.log' - logfile_task_RRH_compile = logdir_local_testcase + '/RRH_task_compile' + '_' + str(run) + '_.log' - logfile_task_RRH_out = logdir_RRH + '/RRH_task_out' + '_' + str(run) + '_.log' - logfile_task_RRH = logdir_local_testcase + '/RRH_task' + '_' + str(run) + '_.log' - task_RRH_compile = ' ( uname -a ; date \n' - task_RRH_compile = task_RRH_compile + 'cd ' + logdirOAI5GRepo + '; git reset --hard HEAD ; git checkout ' + RRH_branch + ' ; source oaienv \n' - task_RRH_compile = task_RRH_compile + ' source cmake_targets/tools/build_helper \n' - task_RRH_compile = task_RRH_compile + 'env |grep OPENAIR \n' - task_RRH_compile = task_RRH_compile + update_config_file(oai_RRH, RRH_config_file, logdirOAI5GRepo, '$OPENAIR_DIR/cmake_targets/autotests/tools/search_repl.py') + '\n' - if RRH_compile_prog != "": - task_RRH_compile = task_RRH_compile + ' ( ' + RRH_compile_prog + ' '+ RRH_compile_prog_args + ' ) > ' + logfile_compile_RRH + ' 2>&1 \n' - task_RRH_compile = task_RRH_compile + ' date ) > ' + logfile_task_RRH_compile_out + ' 2>&1 ' - write_file(logfile_task_RRH_compile, task_RRH_compile, mode="w") - - task_RRH = ' ( uname -a ; date \n' - task_RRH = task_RRH + ' export OPENAIR_TESTDIR=' + logdir_RRH + '\n' - task_RRH = task_RRH + 'cd ' + logdirOAI5GRepo + ' ; source oaienv ; source cmake_targets/tools/build_helper \n' - task_RRH = task_RRH + 'env |grep OPENAIR \n' + 'array_exec_pid=() \n' - - if RRH_pre_exec != "": - task_RRH = task_RRH + ' ( date; ' + RRH_pre_exec + ' '+ RRH_pre_exec_args + ' ) > ' + logfile_pre_exec_RRH + ' 2>&1 \n' - if RRH_main_exec != "": - task_RRH = task_RRH + ' ( date; ' + addsudo(RRH_main_exec + ' ' + RRH_main_exec_args, mypassword) + ' ) > ' + logfile_exec_RRH + ' 2>&1 & \n' - task_RRH = task_RRH + 'array_exec_pid+=($!) \n' - task_RRH = task_RRH + 'echo eNB_main_exec PID = $! \n' - #terminate the eNB test case after timeout_cmd seconds - task_RRH = task_RRH + finalize_deploy_script (timeout_cmd, RRH_terminate_missing_procs) + ' \n' - task_RRH = task_RRH + 'handle_ctrl_c' + '\n' - task_RRH = task_RRH + ' ) > ' + logfile_task_RRH_out + ' 2>&1 ' - write_file(logfile_task_RRH, task_RRH, mode="w") - - logfile_compile_eNB = logdir_eNB + '/eNB_compile' + '_' + str(run) + '_.log' - logfile_exec_eNB = logdir_eNB + '/eNB_exec' + '_' + str(run) + '_.log' - logfile_pre_exec_eNB = logdir_eNB + '/eNB_pre_exec' + '_' + str(run) + '_.log' - logfile_traffic_eNB = logdir_eNB + '/eNB_traffic' + '_' + str(run) + '_.log' - logfile_task_eNB_compile_out = logdir_eNB + '/eNB_task_compile_out' + '_' + str(run) + '_.log' - logfile_task_eNB_compile = logdir_local_testcase + '/eNB_task_compile' + '_' + str(run) + '_.log' - logfile_task_eNB_out = logdir_eNB + '/eNB_task_out' + '_' + str(run) + '_.log' - logfile_task_eNB = logdir_local_testcase + '/eNB_task' + '_' + str(run) + '_.log' - logfile_local_traffic_eNB_out = logdir_local_testcase + '/eNB_traffic' + '_' + str(run) + '_.log' - logfile_tshark_eNB = logdir_eNB + '/eNB_tshark' + '_' + str(run) + '_.log' - logfile_pcap_eNB = logdir_eNB + '/eNB_tshark' + '_' + str(run) + '_.pcap' - logfile_pcap_zip_eNB = logdir_eNB + '/eNB_tshark' + '_' + str(run) + '_.pcap.zip' - logfile_pcap_tmp_eNB = '/tmp/' + '/eNB_tshark' + '_' + str(run) + '_.pcap' - - task_eNB_compile = ' ( uname -a ; date \n' - task_eNB_compile = task_eNB_compile + 'cd ' + logdirOAI5GRepo + '; git reset --hard HEAD ; git checkout ' + eNB_branch + ' ; source oaienv \n' - task_eNB_compile = task_eNB_compile + ' source cmake_targets/tools/build_helper \n' - task_eNB_compile = task_eNB_compile + 'env |grep OPENAIR \n' - task_eNB_compile = task_eNB_compile + update_config_file(oai_eNB, eNB_config_file, logdirOAI5GRepo, '$OPENAIR_DIR/cmake_targets/autotests/tools/search_repl.py') + '\n' - if eNB_compile_prog != "": - task_eNB_compile = task_eNB_compile + ' ( ' + eNB_compile_prog + ' '+ eNB_compile_prog_args + ' ) > ' + logfile_compile_eNB + ' 2>&1 \n' - task_eNB_compile = task_eNB_compile + ' date ) > ' + logfile_task_eNB_compile_out + ' 2>&1 ' - write_file(logfile_task_eNB_compile, task_eNB_compile, mode="w") - - task_eNB = ' ( uname -a ; date \n' - task_eNB = task_eNB + ' export OPENAIR_TESTDIR=' + logdir_eNB + '\n' - task_eNB = task_eNB + 'cd ' + logdirOAI5GRepo + ' ; source oaienv ; source cmake_targets/tools/build_helper \n' - task_eNB = task_eNB + 'env |grep OPENAIR \n' + 'array_exec_pid=() \n' - - if eNB_pre_exec != "": - task_eNB = task_eNB + ' ( date; ' + eNB_pre_exec + ' '+ eNB_pre_exec_args + ' ) > ' + logfile_pre_exec_eNB + ' 2>&1 \n' - if eNB_main_exec != "": - task_eNB = task_eNB + ' ( date; ' + addsudo(eNB_main_exec + ' ' + eNB_main_exec_args, mypassword) + ' ) > ' + logfile_exec_eNB + ' 2>&1 & \n' - task_eNB = task_eNB + 'array_exec_pid+=($!) \n' - task_eNB = task_eNB + 'echo eNB_main_exec PID = $! \n' - if eNB_traffic_exec != "": - cmd_traffic = eNB_traffic_exec + ' ' + eNB_traffic_exec_args - if cmd_traffic.find('-c') >= 0: - cmd_traffic = cmd_traffic + ' -t ' + str(timeout_cmd - 60) - task_eNB = task_eNB + ' (date; ' + cmd_traffic + ' ) > ' + logfile_traffic_eNB + ' 2>&1 & \n' - task_eNB = task_eNB + 'array_exec_pid+=($!) \n' - task_eNB = task_eNB + 'echo eNB_traffic_exec PID = $! \n' - - task_eNB = task_eNB + ' (date; sudo rm -f ' + logfile_pcap_tmp_eNB + ' ; sudo -E tshark -i lo -s 65535 -a duration:' + str(timeout_cmd-10)+ ' -w ' + logfile_pcap_tmp_eNB+ ' ; sudo -E chown ' + user + ' ' + logfile_pcap_tmp_eNB + ' ; zip -j -9 ' + logfile_pcap_zip_eNB + ' ' + logfile_pcap_tmp_eNB + ' ) > ' + logfile_tshark_eNB + ' 2>&1 & \n ' - task_eNB = task_eNB + 'array_exec_pid+=($!) \n' - task_eNB = task_eNB + 'echo eNB_tshark_exec PID = $! \n' - #terminate the eNB test case after timeout_cmd seconds - task_eNB = task_eNB + finalize_deploy_script (timeout_cmd, eNB_terminate_missing_procs) + ' \n' - #task_eNB = task_eNB + 'sleep ' + str(timeout_cmd) + ' \n' - task_eNB = task_eNB + 'handle_ctrl_c' + '\n' - task_eNB = task_eNB + ' ) > ' + logfile_task_eNB_out + ' 2>&1 ' - write_file(logfile_task_eNB, task_eNB, mode="w") - - #task_eNB = 'echo \" ' + task_eNB + '\" > ' + logfile_script_eNB + ' 2>&1 ; ' + task_eNB - logfile_compile_UE = logdir_UE + '/UE_compile' + '_' + str(run) + '_.log' - logfile_exec_UE = logdir_UE + '/UE_exec' + '_' + str(run) + '_.log' - logfile_pre_exec_UE = logdir_UE + '/UE_pre_exec' + '_' + str(run) + '_.log' - logfile_traffic_UE = logdir_UE + '/UE_traffic' + '_' + str(run) + '_.log' - logfile_task_UE_out = logdir_UE + '/UE_task_out' + '_' + str(run) + '_.log' - logfile_task_UE = logdir_local_testcase + '/UE_task' + '_' + str(run) + '_.log' - logfile_task_UE_compile_out = logdir_UE + '/UE_task_compile_out' + '_' + str(run) + '_.log' - logfile_task_UE_compile = logdir_local_testcase + '/UE_task_compile' + '_' + str(run) + '_.log' - logfile_local_traffic_UE_out = logdir_local_testcase + '/UE_traffic' + '_' + str(run) + '_.log' - - task_UE_compile = ' ( uname -a ; date \n' - task_UE_compile = task_UE_compile + 'array_exec_pid=()' + '\n' - task_UE_compile = task_UE_compile + 'cd ' + logdirOAI5GRepo + '; git reset --hard HEAD ; git checkout ' + UE_branch + ' ; source oaienv \n' - task_UE_compile = task_UE_compile + 'source cmake_targets/tools/build_helper \n' - task_UE_compile = task_UE_compile + 'env |grep OPENAIR \n' - task_UE_compile = task_UE_compile + update_config_file(oai_UE, UE_config_file, logdirOAI5GRepo, '$OPENAIR_DIR/cmake_targets/autotests/tools/search_repl.py') + '\n' - if UE_compile_prog != "": - task_UE_compile = task_UE_compile + ' ( ' + UE_compile_prog + ' '+ UE_compile_prog_args + ' ) > ' + logfile_compile_UE + ' 2>&1 \n' - task_UE_compile = task_UE_compile + ' ) > ' + logfile_task_UE_compile_out + ' 2>&1 ' - write_file(logfile_task_UE_compile, task_UE_compile, mode="w") - - task_UE = ' ( uname -a ; date \n' - task_UE = task_UE + 'array_exec_pid=()' + '\n' - task_UE = task_UE + 'cd ' + logdirOAI5GRepo + '\n' - task_UE = task_UE + 'source oaienv \n' - task_UE = task_UE + 'source cmake_targets/tools/build_helper \n' - task_UE = task_UE + 'env |grep OPENAIR \n' - if UE_pre_exec != "": - task_UE = task_UE + ' ( date; ' + UE_pre_exec + ' '+ UE_pre_exec_args + ' ) > ' + logfile_pre_exec_UE + ' 2>&1 \n' - if UE_main_exec != "": - task_UE = task_UE + ' ( date; ' + addsudo(UE_main_exec + ' ' + UE_main_exec_args, mypassword) + ' ) > ' + logfile_exec_UE + ' 2>&1 & \n' - task_UE = task_UE + 'array_exec_pid+=($!) \n' - task_UE = task_UE + 'echo UE_main_exec PID = $! \n' - if UE_traffic_exec != "": - cmd_traffic = UE_traffic_exec + ' ' + UE_traffic_exec_args - if cmd_traffic.find('-c') >= 0: - cmd_traffic = cmd_traffic + ' -t ' + str(timeout_cmd - 60) - task_UE = task_UE + ' ( date; ' + cmd_traffic + ' ) >' + logfile_traffic_UE + ' 2>&1 & \n' - task_UE = task_UE + 'array_exec_pid+=($!) \n' - task_UE = task_UE + 'echo UE_traffic_exec PID = $! \n' - #terminate the UE test case after timeout_cmd seconds - task_UE = task_UE + finalize_deploy_script (timeout_cmd, UE_terminate_missing_procs) + ' \n' - #task_UE = task_UE + 'sleep ' + str(timeout_cmd) + ' \n' - task_UE = task_UE + 'handle_ctrl_c' + '\n' - task_UE = task_UE + ' ) > ' + logfile_task_UE_out + ' 2>&1 ' - write_file(logfile_task_UE, task_UE, mode="w") - #task_UE = 'echo \" ' + task_UE + '\" > ' + logfile_script_UE + ' 2>&1 ; ' + task_UE - - logfile_compile_EPC = logdir_EPC + '/EPC_compile' + '_' + str(run) + '_.log' - logfile_compile_HSS = logdir_EPC + '/HSS_compile' + '_' + str(run) + '_.log' - logfile_exec_EPC = logdir_EPC + '/EPC_exec' + '_' + str(run) + '_.log' - logfile_pre_exec_EPC = logdir_EPC + '/EPC_pre_exec' + '_' + str(run) + '_.log' - logfile_exec_HSS = logdir_EPC + '/HSS_exec' + '_' + str(run) + '_.log' - logfile_traffic_EPC = logdir_EPC + '/EPC_traffic' + '_' + str(run) + '_.log' - logfile_task_EPC_out = logdir_EPC + '/EPC_task_out' + '_' + str(run) + '_.log' - logfile_task_EPC = logdir_local_testcase + '/EPC_task' + '_' + str(run) + '_.log' - logfile_task_EPC_compile_out = logdir_EPC + '/EPC_task_compile_out' + '_' + str(run) + '_.log' - logfile_task_EPC_compile = logdir_local_testcase + '/EPC_task_compile' + '_' + str(run) + '_.log' - logfile_local_traffic_EPC_out = logdir_local_testcase + '/EPC_traffic' + '_' + str(run) + '_.log' - - task_EPC_compile = ' ( uname -a ; date \n' - task_EPC_compile = task_EPC_compile + 'array_exec_pid=()' + '\n' - task_EPC_compile = task_EPC_compile + 'cd ' + logdirOpenaircnRepo + '; git reset --hard HEAD ; git checkout ' + EPC_branch + ' ; source oaienv \n' - task_EPC_compile = task_EPC_compile + update_config_file(oai_EPC, EPC_config_file, logdirOpenaircnRepo, logdirOpenaircnRepo+'/TEST/autotests/tools/search_repl.py') + '\n' - task_EPC_compile = task_EPC_compile + 'source BUILD/TOOLS/build_helper \n' - if EPC_compile_prog != "": - task_EPC_compile = task_EPC_compile + '(' + EPC_compile_prog + ' ' + EPC_compile_prog_args + ' ) > ' + logfile_compile_EPC + ' 2>&1 \n' - if HSS_compile_prog != "": - task_EPC_compile = task_EPC_compile + '(' + HSS_compile_prog + ' ' + HSS_compile_prog_args + ' ) > ' + logfile_compile_HSS + ' 2>&1 \n' - task_EPC_compile = task_EPC_compile + ' ) > ' + logfile_task_EPC_compile_out + ' 2>&1 ' - write_file(logfile_task_EPC_compile, task_EPC_compile, mode="w") - - task_EPC = ' ( uname -a ; date \n' - task_EPC = task_EPC + ' export OPENAIRCN_TESTDIR=' + logdir_EPC + '\n' - task_EPC = task_EPC + 'array_exec_pid=()' + '\n' - task_EPC = task_EPC + 'cd ' + logdirOpenaircnRepo + '; source oaienv\n' - task_EPC = task_EPC + 'source BUILD/TOOLS/build_helper \n' - if EPC_pre_exec != "": - task_EPC = task_EPC + ' ( date; ' + EPC_pre_exec + ' '+ EPC_pre_exec_args + ' ) > ' + logfile_pre_exec_EPC + ' 2>&1 \n' - if HSS_main_exec != "": - task_EPC = task_EPC + '( date; ' + addsudo (HSS_main_exec + ' ' + HSS_main_exec_args, mypassword) + ' ) > ' + logfile_exec_HSS + ' 2>&1 & \n' - task_EPC = task_EPC + 'array_exec_pid+=($!) \n' - task_EPC = task_EPC + 'echo HSS_main_exec PID = $! \n' - if EPC_main_exec != "": - task_EPC = task_EPC + '( date; ' + addsudo (EPC_main_exec + ' ' + EPC_main_exec_args, mypassword) + ' ) > ' + logfile_exec_EPC + ' 2>&1 & \n' - task_EPC = task_EPC + 'array_exec_pid+=($!) \n' - task_EPC = task_EPC + 'echo EPC_main_exec PID = $! \n' - if EPC_traffic_exec != "": - cmd_traffic = EPC_traffic_exec + ' ' + EPC_traffic_exec_args - if cmd_traffic.find('-c') >= 0: - cmd_traffic = cmd_traffic + ' -t ' + str(timeout_cmd - 60) - task_EPC = task_EPC + '( date; ' + cmd_traffic + ' ) > ' + logfile_traffic_EPC + ' 2>&1 & \n' - task_EPC = task_EPC + 'array_exec_pid+=($!) \n' - task_EPC = task_EPC + 'echo EPC_traffic_exec PID = $! \n' - #terminate the EPC test case after timeout_cmd seconds - task_EPC = task_EPC + finalize_deploy_script (timeout_cmd, EPC_terminate_missing_procs) + '\n' - #task_EPC = task_EPC + 'sleep ' + str(timeout_cmd) + '\n' - task_EPC = task_EPC + 'handle_ctrl_c' '\n' - task_EPC = task_EPC + ' ) > ' + logfile_task_EPC_out + ' 2>&1 ' - write_file(logfile_task_EPC, task_EPC, mode="w") - - #first we compile all the programs but only for run_0 - if run == 0: - thread_EPC = oaiThread(1, "EPC_thread", EPCMachine, user, password , task_EPC_compile, False, timeout_thread) - thread_eNB = oaiThread(2, "eNB_thread", eNBMachine, user, password , task_eNB_compile, False, timeout_thread) - thread_UE = oaiThread(3, "UE_thread", UEMachine, user, password , task_UE_compile, False, timeout_thread) - if RRHMachine != '': - thread_RRH = oaiThread(4, "RRH_thread", RRHMachine, user, password , task_RRH_compile, False, timeout_thread) - threads=[] - threads.append(thread_eNB) - threads.append(thread_UE) - threads.append(thread_EPC) - if RRHMachine != '': - threads.append(thread_RRH) - # Start new Threads - thread_eNB.start() - thread_UE.start() - thread_EPC.start() - if RRHMachine != '': - thread_RRH.start() - #Wait for all the compile threads to complete - for t in threads: - t.join() - - #Now we execute all the threads - thread_EPC = oaiThread(1, "EPC_thread", EPCMachine, user, password , task_EPC, False, timeout_thread) - thread_eNB = oaiThread(2, "eNB_thread", eNBMachine, user, password , task_eNB, False, timeout_thread) - thread_UE = oaiThread(3, "UE_thread", UEMachine, user, password , task_UE, False, timeout_thread) - if RRHMachine != '': - thread_RRH = oaiThread(4, "RRH_thread", RRHMachine, user, password , task_RRH, False, timeout_thread) - threads=[] - threads.append(thread_eNB) - threads.append(thread_UE) - threads.append(thread_EPC) - if RRHMachine != '': - threads.append(thread_RRH) - # Start new Threads - - thread_eNB.start() - thread_UE.start() - thread_EPC.start() - if RRHMachine != '': - thread_RRH.start() - #Wait for all the compile threads to complete - for t in threads: - t.join() - #Now we get the log files from remote machines on the local machine - if RRHMachine != '': - cleanOldProgramsAllMachines([oai_eNB, oai_UE, oai_EPC, oai_RRH] , oldprogramList, CleanUpAluLteBox, ExmimoRfStop, [logdir_eNB, logdir_UE, logdir_EPC, logdir_RRH], logdirOAI5GRepo) - else: - cleanOldProgramsAllMachines([oai_eNB, oai_UE, oai_EPC] , oldprogramList, CleanUpAluLteBox, ExmimoRfStop, [logdir_eNB, logdir_UE, logdir_EPC], logdirOAI5GRepo) - logfile_UE_stop_script_out = logdir_UE + '/UE_stop_script_out' + '_' + str(run) + '_.log' - logfile_UE_stop_script = logdir_local_testcase + '/UE_stop_script' + '_' + str(run) + '_.log' - - if UE_stop_script != "": - cmd = ' ( uname -a ; date \n' - cmd = cmd + 'cd ' + logdirOAI5GRepo + ' ; source oaienv ; source cmake_targets/tools/build_helper \n' - cmd = cmd + 'env |grep OPENAIR \n' + 'array_exec_pid=() \n' - cmd = cmd + UE_stop_script + '\n' - cmd = cmd + ') > ' + logfile_UE_stop_script_out + ' 2>&1 ' - write_file(logfile_UE_stop_script , cmd, mode="w") - thread_UE = oaiThread(4, "UE_thread", UEMachine, user, password , cmd, False, timeout_thread) - thread_UE.start() - thread_UE.join() - - #Now we change the permissions of the logfiles to avoid some of them being with root permissions - cmd = 'sudo -E chown -R ' + user + ' ' + logdir_eNB - res= oai_eNB.send_recv(cmd) - print "Changing permissions of logdir <" + logdir_eNB + "> in eNB machine..." + res - - cmd = 'sudo -E chown -R ' + user + ' ' + logdir_UE - res= oai_UE.send_recv(cmd) - print "Changing permissions of logdir <" + logdir_UE + "> in UE machine..." + res - - cmd = 'sudo -E chown -R ' + user + ' ' + logdir_EPC - res= oai_EPC.send_recv(cmd) - print "Changing permissions of logdir <" + logdir_EPC + "> in EPC machine..." + res - - if RRHMachine != '': - cmd = 'sudo -E chown -R ' + user + ' ' + logdir_RRH - res= oai_RRH.send_recv(cmd) - print "Changing permissions of logdir <" + logdir_RRH + "> in RRH machine..." + res - - print "Copying files from EPCMachine : " + EPCMachine + "logdir_EPC = " + logdir_EPC - SSHSessionWrapper(EPCMachine, user, None, password, logdir_EPC, logdir_local + '/cmake_targets/autotests/log/'+ testcasename, "get_all") - - print "Copying files from eNBMachine " + eNBMachine + "logdir_eNB = " + logdir_eNB - SSHSessionWrapper(eNBMachine, user, None, password, logdir_eNB, logdir_local + '/cmake_targets/autotests/log/'+ testcasename, "get_all") - - print "Copying files from UEMachine : " + UEMachine + "logdir_UE = " + logdir_UE - SSHSessionWrapper(UEMachine, user, None, password, logdir_UE, logdir_local + '/cmake_targets/autotests/log/'+ testcasename, "get_all") - - if RRHMachine != '': - print "Copying files from RRHMachine : " + RRHMachine + "logdir_RRH = " + logdir_RRH - SSHSessionWrapper(RRHMachine, user, None, password, logdir_RRH, logdir_local + '/cmake_targets/autotests/log/'+ testcasename, "get_all") - - - #Currently we only perform throughput tests - tput_run_string='' - result, tput_string = tput_test_search_expr(eNB_search_expr_true, logfile_local_traffic_eNB_out) - tput_run_string = tput_run_string + tput_string - run_result=run_result&result - result, tput_string = tput_test_search_expr(EPC_search_expr_true, logfile_local_traffic_EPC_out) - run_result=run_result&result - tput_run_string = tput_run_string + tput_string - result, tput_string = tput_test_search_expr(UE_search_expr_true, logfile_local_traffic_UE_out) - run_result=run_result&result - tput_run_string = tput_run_string + tput_string - - if run_result == 1: - run_result_string = ' RUN_'+str(run) + ' = PASS' - else: - run_result_string = ' RUN_'+str(run) + ' = FAIL' - - #If there is assertion, we mark the test case as failure as most likely eNB crashed - cmd = "grep -ilr \"assertion\" " + logdir_local_testcase + " | cat " - cmd_out = subprocess.check_output ([cmd], shell=True) - if len(cmd_out) !=0 : - run_result=0 - run_result_string = ' RUN_'+str(run) + ' = FAIL(Assert)' - - #If there is thread busy error, we mark the test case as failure as most likely eNB crashed - cmd = "grep -ilr \"thread busy\" " + logdir_local_testcase + " | cat " - cmd_out = subprocess.check_output ([cmd], shell=True) - if len(cmd_out) !=0: - run_result=0 - run_result_string = ' RUN_'+str(run) + ' = FAIL(Thread_Busy)' - - #If there is Segmentation fault, we mark the test case as failure as most likely eNB crashed - cmd = "grep -ilr \"segmentation fault\" " + logdir_local_testcase + " | cat " - cmd_out = subprocess.check_output ([cmd], shell=True) - if len(cmd_out) !=0: - run_result=0 - run_result_string = ' RUN_'+str(run) + ' = FAIL(SEGFAULT)' - - run_result_string = run_result_string + tput_run_string - - test_result=test_result & run_result - test_result_string=test_result_string + run_result_string - - oai_eNB.disconnect() - oai_UE.disconnect() - oai_EPC.disconnect() - #We need to close the new ssh session that was created - #if index_eNBMachine == index_EPCMachine: - # oai_EPC.disconnect() - #Now we finalize the xml file of the test case - end_time=time.time() - duration= end_time - start_time - xmlFile = logdir_local + '/cmake_targets/autotests/log/'+ testcasename + '/test.' + testcasename + '.xml' - if test_result ==0: - result='FAIL' - else: - result = 'PASS' - xml="\n<testcase classname=\'"+ testcaseclass + "\' name=\'" + testcasename + "."+tags + "\' Run_result=\'" + test_result_string + "\' time=\'" + str(duration) + " s \' RESULT=\'" + result + "\'></testcase> \n" - write_file(xmlFile, xml, mode="w") - - - - -# \brief handler for executing test cases (lte-softmodem-noS1) -# \param testcase name of testcase -# \param oldprogramList list of programs which must be terminated before running a test case -# \param logdirOAI5GRepo directory on remote machine which has openairinterface5g repo installed -# \param logdirOpenaircnRepo directory on remote machine which has openair-cn repo installed -# \param MachineList list of all machines on which test cases can be run -# \param user username with which to login -# \param password password with which to login -# \param CleanupAluLteBox string that contains commands to stop ALU Bell Labs LTEBox (specified in test_case_list.xml) -# \param ExmimoRfStop command to stop EXMIMO Card -# \param nruns_lte-softmodem global parameter to override number of runs (nruns) within the test case -def handle_testcaseclass_softmodem_noS1 (testcase, oldprogramList, logdirOAI5GRepo , logdirOpenaircnRepo, MachineList, user, password, CleanUpAluLteBox, ExmimoRfStop, nruns_lte_softmodem, timeout_cmd): - #We ignore the password sent to this function for secuirity reasons for password present in log files - #It is recommended to add a line in /etc/sudoers that looks something like below. The line below will run sudo without password prompt - # your_user_name ALL=(ALL:ALL) NOPASSWD: ALL - - indent="\t" - threads=[] - - # - # Test case parameters - # ----------------------------------------------------------------------------- - testcase_verdict = 'PASS' - testcase_time_start = datetime.datetime.now() - testcase_name = testcase.get('id') - testcase_class = testcase.findtext('class',default='') - testcase_desc = testcase.findtext('desc',default='') - if timeout_cmd == '': - timeout_cmd = testcase.findtext('TimeOut_cmd',default='') - timeout_cmd = int(float(timeout_cmd)) - timeout_thread = timeout_cmd + 60 #Timeout_thread is more than that of cmd to have room for compilation time, etc - if nruns_lte_softmodem == '': - nruns = testcase.findtext('nruns',default='') - else: - nruns = nruns_lte_softmodem - nruns = int(float(nruns)) - tags = testcase.findtext('tags',default='') - - max_ntries = testcase.findtext('max_ntries',default='') - if max_ntries : - max_ntries = int(float(max_ntries)) - else : - max_ntries = nruns - - print( indent + "> testcase time start : " + str(testcase_time_start) ) - print( indent + "> testcase class : " + testcase_class ) - print( indent + "> testcase description : " + testcase_desc ) - print( indent + "> testcase timeout : " + str(timeout_cmd) ) - print( indent + "> testcase thread timeout : " + str(timeout_thread) ) - print( indent + "> number of runs : " + str(nruns) ) - print( indent + "> number of max tries : " + str(max_ntries) ) - print( indent + "> testcase tags : " + tags ) - - logdir_local_testcase = openairdir_local + '/cmake_targets/autotests/log/'+ testcasename - logdir_eNB_testcase = logdirOAI5GRepo +'/cmake_targets/autotests/log/'+ testcasename - logdir_UE_testcase = logdirOAI5GRepo +'/cmake_targets/autotests/log/'+ testcasename - - # - # Local checks for test cases - # ----------------------------------------------- - - # Logging directory - if (not os.path.exists(logdir_local_testcase)): - os.system('mkdir -p ' + logdir_local_testcase) - - # - # REMOTE MACHINE COMPILATION - # ------------------------------------------------ - - eNBMachine = testcase.findtext('eNB',default='') - eNB_config_file = testcase.findtext('eNB_config_file',default='') - eNB_compile_prog = testcase.findtext('eNB_compile_prog',default='') - eNB_compile_prog_args = testcase.findtext('eNB_compile_prog_args',default='') - - logfile_compile_eNB = logdir_eNB_testcase + '/eNB_compile.log' - logfile_task_eNB_compile_out = logdir_eNB_testcase + '/eNB_task_compile_out.log' - logfile_task_eNB_compile = logdir_local_testcase + '/eNB_task_compile.log' - - # Check that machine is in test setup machine list - print( Fore.WHITE + indent + "> testcase eNB machine :"), - if (eNBMachine not in MachineList): - print( Fore.RED + eNBMachine + " not in test setup machine list") - testcase_verdict = 'INCON' - else : - print eNBMachine, - # get machine description - eNBMachineDesc = MachineDescDic[eNBMachine] - index_eNBMachine = MachineList.index(eNBMachine) - # check that openairinterface is installed on machine - oai_eNB = openair('localdomain', eNBMachine) - oai_eNB.connect(user, password) - cmd = 'cd ' + logdirOAI5GRepo + '; source oaienv ; env|grep --color=never OPENAIR' - res= oai_eNB.send_recv(cmd) - m = re.search('OPENAIR_HOME', res, re.DOTALL) - if m: - print - # Create testcase directory on remote eNB - cmd = 'rm -fr ' + logdir_eNB_testcase + ' ; mkdir -p ' + logdir_eNB_testcase - result = oai_eNB.send_recv(cmd) - - # Check if we need to compile lte-softmodem-noS1 on remote machine - eNB_compile_cmd = eNB_compile_prog + ' '+ eNB_compile_prog_args - if ('last_compile_prog' in eNBMachineDesc) and eNBMachineDesc['last_compile_prog'] == eNB_compile_cmd: - print( Fore.WHITE + indent + "> eNB machine compilation : skipped -> "+eNB_compile_cmd ) - else: - print( Fore.WHITE + indent + "> eNB machine compilation : triggered -> "+eNB_compile_cmd ) - eNBMachineDesc['last_compile_prog'] = eNB_compile_prog + ' '+ eNB_compile_prog_args # if last compilation is the same do not compile again - task_eNB_compile = ' ( uname -a ; date \n' - task_eNB_compile = task_eNB_compile + 'cd ' + logdirOAI5GRepo + ' ; source oaienv ; source cmake_targets/tools/build_helper \n' - task_eNB_compile = task_eNB_compile + 'env |grep OPENAIR \n' - task_eNB_compile = task_eNB_compile + update_config_file(oai_eNB, eNB_config_file, logdirOAI5GRepo, '$OPENAIR_DIR/cmake_targets/autotests/tools/search_repl.py') + '\n' - if eNB_compile_cmd != "": - task_eNB_compile = task_eNB_compile + ' ( ' + eNB_compile_cmd + ' ) > ' + logfile_compile_eNB + ' 2>&1 \n' - task_eNB_compile = task_eNB_compile + ' date ) > ' + logfile_task_eNB_compile_out + ' 2>&1 ' - write_file(logfile_task_eNB_compile, task_eNB_compile, mode="w") - - - thread_eNB = oaiThread(1, "eNB_thread_compile", eNBMachine, user, password , task_eNB_compile, False, timeout_thread) - threads.append(thread_eNB) - thread_eNB.start() - - else: - print( Fore.RED + " -> OAI5G not properly setup ! please check REMOTE MACHINE PREPARATION step") - testcase_verdict = 'INCON' - - - UEMachine = testcase.findtext('UE',default='') - UE_config_file = testcase.findtext('UE_config_file',default='') - UE_compile_prog = testcase.findtext('UE_compile_prog',default='') - UE_compile_prog_args = testcase.findtext('UE_compile_prog_args',default='') - - logfile_compile_UE = logdir_UE_testcase + '/UE_compile.log' - logfile_task_UE_compile_out = logdir_UE_testcase + '/UE_task_compile_out.log' - logfile_task_UE_compile = logdir_local_testcase + '/UE_task_compile.log' - - # Check that machine is in test setup machine list - print( Fore.WHITE + indent + "> testcase UE machine :"), - if (UEMachine not in MachineList): - print( Fore.RED + UEMachine + " not in test setup machine list") - testcase_verdict = 'INCON' - else : - print UEMachine, - # get machine description - UEMachineDesc = MachineDescDic[UEMachine] - index_UEMachine = MachineList.index(UEMachine) - # check that openairinterface is installed on machine - oai_UE = openair('localdomain', UEMachine) - oai_UE.connect(user, password) - cmd = 'cd ' + logdirOAI5GRepo + '; source oaienv ; env|grep --color=never OPENAIR' - res= oai_UE.send_recv(cmd) - m = re.search('OPENAIR_HOME', res, re.DOTALL) - if m: - print - # Create testcase directory on remote UE - cmd = 'rm -fr ' + logdir_UE_testcase + ' ; mkdir -p ' + logdir_UE_testcase - result = oai_UE.send_recv(cmd) - - # Check if we need to compile lte-softmodem-noS1 on remote machine - UE_compile_cmd = UE_compile_prog + ' '+ UE_compile_prog_args - if ('last_compile_prog' in UEMachineDesc) and UEMachineDesc['last_compile_prog'] == UE_compile_cmd: - print( Fore.WHITE + indent + "> UE machine compilation : skipped -> "+UE_compile_cmd ) - else: - print( Fore.WHITE + indent + "> UE machine compilation : triggered -> "+UE_compile_cmd ) - UEMachineDesc['last_compile_prog'] = UE_compile_prog + ' '+ UE_compile_prog_args - task_UE_compile = ' ( uname -a ; date \n' - task_UE_compile = task_UE_compile + 'cd ' + logdirOAI5GRepo + ' ; source oaienv ; source cmake_targets/tools/build_helper \n' - task_UE_compile = task_UE_compile + 'env |grep OPENAIR \n' - task_UE_compile = task_UE_compile + update_config_file(oai_UE, UE_config_file, logdirOAI5GRepo, '$OPENAIR_DIR/cmake_targets/autotests/tools/search_repl.py') + '\n' - if UE_compile_cmd != "": - task_UE_compile = task_UE_compile + ' ( ' + UE_compile_cmd + ' ) > ' + logfile_compile_UE + ' 2>&1 \n' - task_UE_compile = task_UE_compile + ' date ) > ' + logfile_task_UE_compile_out + ' 2>&1 ' - write_file(logfile_task_UE_compile, task_UE_compile, mode="w") - - thread_UE = oaiThread(2, "UE_thread_compile", UEMachine, user, password , task_UE_compile, False, timeout_thread) - threads.append(thread_UE) - thread_UE.start() - - else: - print( Fore.RED + " -> OAI5G not properly setup ! please check REMOTE MACHINE PREPARATION step") - testcase_verdict = 'INCON' - - - - - - - # Wait for Compilation thread to terminate - #----------------------------------------- - for t in threads: - t.join() - - # TODO check that compilation is succeed - - #first we compile all the programs -# thread_UE = oaiThread(3, "UE_thread", UEMachine, user, password , task_UE_compile, False, timeout_thread) -# threads.append(thread_UE) -# thread_UE.start() - - - - - -# index_UEMachine = MachineList.index(UEMachine) -# oai_UE = openair('localdomain', UEMachine) -# oai_UE.connect(user, password) -# res = oai_UE.send_recv(cmd) -# res = oai_eNB.send_recv(cmd) - - - - # - # RUN LOOP - # ------------------------------------------------ - if testcase_verdict != 'PASS': # if something went wrong to not run test cases - max_ntries=0 - - indent="\t\t" - - runs_results = [] - nb_runs = 0 - nb_run_pass = 0 - nb_run_failed = 0 - nb_run_inc = 0 - nb_run_skip = 0 - - nb_seg_fault = 0 - - for run in range(0,max_ntries): - - if nruns == nb_run_pass + nb_run_failed: - break - - nb_runs += 1 - - # - # RUN initialization - # ---------------------------------------------------- - - prefix_string = Fore.WHITE + indent + "> RUN_"+str(run).zfill(2)+" :" - -# print (Fore.WHITE + indent + "> RUN_"+str(run).zfill(2)+" : " ), -# sys.stdout.flush() - - run_start_time=datetime.datetime.now() - - logdir_local_run = openairdir_local + '/cmake_targets/autotests/log/'+ testcasename + '/run_' + str(run) - logdir_eNB_run = logdirOAI5GRepo +'/cmake_targets/autotests/log/' + testcasename + '/run_' + str(run) - logdir_UE_run = logdirOAI5GRepo +'/cmake_targets/autotests/log/' + testcasename + '/run_' + str(run) - - cmd = 'rm -fr ' + logdir_eNB_run + ' ; mkdir -p ' + logdir_eNB_run - result = oai_eNB.send_recv(cmd) - cmd = 'rm -fr ' + logdir_UE_run + ' ; mkdir -p ' + logdir_UE_run - result = oai_UE.send_recv(cmd) - cmd = ' rm -fr ' + logdir_local_run + ' ; mkdir -p ' + logdir_local_run - result = os.system(cmd) - - - # - # RUN parametrization - # ---------------------------------------------------- - eNB_pre_exec = testcase.findtext('eNB_pre_exec',default='') - eNB_pre_exec_args = testcase.findtext('eNB_pre_exec_args',default='') - eNB_main_exec = testcase.findtext('eNB_main_exec',default='') - eNB_main_exec_args = testcase.findtext('eNB_main_exec_args',default='') - eNB_traffic_exec = testcase.findtext('eNB_traffic_exec',default='') - eNB_traffic_exec_args = testcase.findtext('eNB_traffic_exec_args',default='') - eNB_terminate_missing_procs = testcase.findtext('eNB_terminate_missing_procs',default='True') - - logfile_exec_eNB = logdir_eNB_run + '/eNB_exec' + '_' + str(run) + '_.log' - logfile_pre_exec_eNB = logdir_eNB_run + '/eNB_pre_exec' + '_' + str(run) + '_.log' - logfile_task_eNB_out = logdir_eNB_run + '/eNB_task_out' + '_' + str(run) + '_.log' - logfile_traffic_eNB = logdir_eNB_run + '/eNB_traffic' + '_' + str(run) + '_.log' - logfile_task_eNB = logdir_local_run + '/eNB_task' + '_' + str(run) + '_.log' - - task_eNB = ' ( uname -a ; date \n' - task_eNB = task_eNB + 'cd ' + logdirOAI5GRepo + ' ; source oaienv ; source cmake_targets/tools/build_helper \n' - task_eNB = task_eNB + 'env |grep OPENAIR \n' + 'array_exec_pid=() \n' - if eNB_pre_exec != "": - task_eNB = task_eNB + ' ( date; ' + eNB_pre_exec + ' '+ eNB_pre_exec_args + ' ) > ' + logfile_pre_exec_eNB + ' 2>&1 \n' - if eNB_main_exec != "": - task_eNB = task_eNB + ' ( date; ' + addsudo(eNB_main_exec + ' ' + eNB_main_exec_args, '') + ' ) > ' + logfile_exec_eNB + ' 2>&1 & \n' - task_eNB = task_eNB + 'array_exec_pid+=($!) \n' - task_eNB = task_eNB + 'echo eNB_main_exec PID = $! \n' - if eNB_traffic_exec != "": - cmd_traffic = eNB_traffic_exec + ' ' + eNB_traffic_exec_args - if cmd_traffic.find('-c') >= 0: - cmd_traffic = cmd_traffic + ' -t ' + str(timeout_cmd - 80) - task_eNB = task_eNB + ' (date; ' + cmd_traffic + ' ) > ' + logfile_traffic_eNB + ' 2>&1 & \n' - task_eNB = task_eNB + 'array_exec_pid+=($!) \n' - task_eNB = task_eNB + 'echo eNB_traffic_exec PID = $! \n' - #terminate the eNB test case after timeout_cmd seconds - task_eNB = task_eNB + finalize_deploy_script (timeout_cmd, eNB_terminate_missing_procs) + ' \n' - #task_eNB = task_eNB + 'sleep ' + str(timeout_cmd) + ' \n' - task_eNB = task_eNB + 'handle_ctrl_c' + '\n' - task_eNB = task_eNB + ' ) > ' + logfile_task_eNB_out + ' 2>&1 ' - write_file(logfile_task_eNB, task_eNB, mode="w") - - - UE_pre_exec = testcase.findtext('UE_pre_exec',default='') - UE_pre_exec_args = testcase.findtext('UE_pre_exec_args',default='') - UE_main_exec = testcase.findtext('UE_main_exec',default='') - UE_main_exec_args = testcase.findtext('UE_main_exec_args',default='') - UE_traffic_exec = testcase.findtext('UE_traffic_exec',default='') - UE_traffic_exec_args = testcase.findtext('UE_traffic_exec_args',default='') - UE_terminate_missing_procs = testcase.findtext('UE_terminate_missing_procs',default='True') - UE_search_expr_true = testcase.findtext('UE_search_expr_true','') - - logfile_exec_UE = logdir_UE_run + '/UE_exec' + '_' + str(run) + '_.log' - logfile_pre_exec_UE = logdir_UE_run + '/UE_pre_exec' + '_' + str(run) + '_.log' - logfile_task_UE_out = logdir_UE_run + '/UE_task_out' + '_' + str(run) + '_.log' - logfile_traffic_UE = logdir_UE_run + '/UE_traffic' + '_' + str(run) + '_.log' - logfile_task_UE = logdir_local_run + '/UE_task' + '_' + str(run) + '_.log' - - - task_UE = ' ( uname -a ; date \n' - task_UE = task_UE + 'array_exec_pid=()' + '\n' - task_UE = task_UE + 'cd ' + logdirOAI5GRepo + '\n' - task_UE = task_UE + 'source oaienv \n' - task_UE = task_UE + 'source cmake_targets/tools/build_helper \n' - task_UE = task_UE + 'env |grep OPENAIR \n' - if UE_pre_exec != "": - task_UE = task_UE + ' ( date; ' + UE_pre_exec + ' '+ UE_pre_exec_args + ' ) > ' + logfile_pre_exec_UE + ' 2>&1 \n' - if UE_main_exec != "": - task_UE = task_UE + ' ( date; ' + addsudo(UE_main_exec + ' ' + UE_main_exec_args, '') + ' ) > ' + logfile_exec_UE + ' 2>&1 & \n' - task_UE = task_UE + 'array_exec_pid+=($!) \n' - task_UE = task_UE + 'echo UE_main_exec PID = $! \n' - if UE_traffic_exec != "": - cmd_traffic = UE_traffic_exec + ' ' + UE_traffic_exec_args - if cmd_traffic.find('-c') >= 0: - cmd_traffic = cmd_traffic + ' -t ' + str(timeout_cmd - 60) - task_UE = task_UE + ' ( date; ' + cmd_traffic + ' ) >' + logfile_traffic_UE + ' 2>&1 & \n' - task_UE = task_UE + 'array_exec_pid+=($!) \n' - task_UE = task_UE + 'echo UE_traffic_exec PID = $! \n' - #terminate the UE test case after timeout_cmd seconds - task_UE = task_UE + finalize_deploy_script (timeout_cmd, UE_terminate_missing_procs) + ' \n' - #task_UE = task_UE + 'sleep ' + str(timeout_cmd) + ' \n' - task_UE = task_UE + 'handle_ctrl_c' + '\n' - task_UE = task_UE + ' ) > ' + logfile_task_UE_out + ' 2>&1 ' - write_file(logfile_task_UE, task_UE, mode="w") - #task_UE = 'echo \" ' + task_UE + '\" > ' + logfile_script_UE + ' 2>&1 ; ' + task_UE - - - - - - - - # - # RUN work - # ---------------------------------------------------- - thread_eNB = oaiThread(1, "eNB_thread", eNBMachine, user, password , task_eNB, False, timeout_thread) - thread_UE = oaiThread(2, "UE_thread", UEMachine, user, password , task_UE, False, timeout_thread) - threads=[] - threads.append(thread_eNB) - threads.append(thread_UE) - thread_eNB.start() - thread_UE.start() - - run_work_inprogress_flag = True - progress_step = timeout_thread/20 - progress_count = 0 - - while (run_work_inprogress_flag): - - - update_progress(float(progress_count)/float(timeout_thread),prefix_string) - - time.sleep(progress_step) - - progress_count += progress_step - -# sys.stdout.write ('#') -# sys.stdout.flush() - - run_work_inprogress_flag = False - for t in threads: - if t.isAlive(): - run_work_inprogress_flag = True - - - update_progress(1,prefix_string) - - for t in threads: - t.join() - - - # - # - #----------------------------------------------------- - cleanOldProgramsAllMachines([oai_eNB, oai_UE] , oldprogramList, CleanUpAluLteBox, ExmimoRfStop, [logdir_eNB_run, logdir_UE_run], logdirOAI5GRepo) - - SSHSessionWrapper(eNBMachine, user, None, password, logdir_eNB_run, logdir_local_testcase, "get_all") - #print "Copying files from UEMachine : " + UEMachine + "logdir_UE = " + logdir_UE - SSHSessionWrapper(UEMachine, user, None, password, logdir_UE_run, logdir_local_testcase, "get_all") - - metric_checks_flag = 1 - - fname = logdir_local_run+ '/UE_exec' + '_' + str(run) + '_.log' - cell_synch_status = analyser.check_cell_synchro(fname) - print (Fore.WHITE + indent + "> Check Cell synchro :"), - - if cell_synch_status == 'CELL_SYNCH': - print ( Fore.GREEN + cell_synch_status) - else : - print ( Fore.RED + cell_synch_status) - metric_checks_flag = 0 - - ue_seg_fault_status = analyser.check_exec_seg_fault(fname) - if ue_seg_fault_status == 'SEG_FAULT' : - nb_seg_fault += 1 - - # - # Check metrics - #---------------------------------------------------- - runs_metrics = [] - run_traffic = [] - - if metric_checks_flag : - verdict = 'PASS' - - # UE side metrics - metricList=testcase.findall('UE_metric') - for metric in metricList: - - metric_verdict = 'PASS' - - metric_def = {} - metric_def['id'] = metric.get('id') - metric_def['description'] = metric.get('description') - metric_def['regex'] = metric.get('regex') - metric_def['unit_of_meas'] = metric.get('unit_of_meas') - metric_def['pass_fail_stat']= metric.get('pass_fail_stat') - metric_min_lim = metric.get('min_limit') - if metric_min_lim: - metric_def['min_limit'] = float(metric_min_lim) - metric_max_lim = metric.get('max_limit') - if metric_max_lim: - metric_def['max_limit'] = float(metric_max_lim) - - fname = logdir_local_run+ '/UE_exec' + '_' + str(run) + '_.log' - - args = {'metric' : metric_def, - 'file' : fname } - - metric_extracted = analyser.do_extract_metrics(args) - - print (Fore.WHITE + indent + "> Metric : "+metric_def['id']), - print ("(min="+str( metric_extracted['metric_min'])+", max="+str( metric_extracted['metric_max'])+", mean="+str( metric_extracted['metric_mean'])+", median="+str( metric_extracted['metric_median'])+")") - -# print "\t > Metric "+metric_def['id']+" :" -# print "\t\t> min = "+ str( metric_extracted['metric_min'] ) -# print "\t\t> min_index = "+ str( metric_extracted['metric_min_index'] ) -# print "\t\t> max = "+ str( metric_extracted['metric_max'] ) -# print "\t\t> max_index = "+ str( metric_extracted['metric_max_index'] ) -# print "\t\t> mean = "+ str( metric_extracted['metric_mean'] ) -# print "\t\t> median = "+ str( metric_extracted['metric_median'] ) - - if metric_def['pass_fail_stat'] : - metric_verdict = analyser.do_check_verdict(metric_def, metric_extracted) - - metric_fig = logdir_local_run+ '/UE_metric_'+ metric_def['id']+'_' + str(run) + '_.png' - analyser.do_img_metrics(metric_def, metric_extracted, metric_fig) - - - metric_fig_report = '../log/'+ testcasename + '/run_' + str(run) + '/UE_metric_'+ metric_def['id']+'_' + str(run) + '_.png' - - run_metrics = dict( metric_id = metric_def['id'], - metric_desc = metric_def['description'], - metric_uom = metric_def['unit_of_meas'], - metric_min = metric_extracted['metric_min'], - metric_min_index= metric_extracted['metric_min_index'], - metric_max = metric_extracted['metric_max'], - metric_max_index= metric_extracted['metric_max_index'], - metric_mean = metric_extracted['metric_mean'], - metric_median = metric_extracted['metric_median'], - metric_fig = metric_fig_report) - - if metric_def['pass_fail_stat'] : - run_metrics['pass_fail_stat'] = metric_def['pass_fail_stat'] - if metric_min_lim : - run_metrics['pass_fail_min_limit'] = metric_def['min_limit'] - if metric_max_lim : - run_metrics['pass_fail_max_limit'] = metric_def['max_limit'] - - runs_metrics.append(run_metrics) - - if metric_verdict != 'PASS': - verdict = metric_verdict - - # End Metrics LOOP - # --------------------- - - - # Traffic analysis - if UE_traffic_exec != "": - - fname = logdir_local_run+ '/UE_traffic' + '_' + str(run) + '_.log' - args = {'file' : fname } - traffic_metrics = analyser.do_extract_traffic_metrics(args) - traffic_fig = logdir_local_run+ '/UE_traffic'+'_' + str(run) + '_.png' - analyser.do_img_traffic(traffic_metrics, traffic_fig) - - traffic_fig_report= '../log/'+ testcasename + '/run_' + str(run) + '/UE_traffic'+'_' + str(run) + '_.png' - - dur_pass_fail_crit = 'none' - if traffic_metrics['traffic_count'] == 0 : - verdict = 'FAIL' - elif UE_search_expr_true != "": - traffic_duration_limit = float(UE_search_expr_true) - dur_pass_fail_crit = str(traffic_duration_limit) - # print 'traffic_duration_limit = '+str(traffic_duration_limit) - # print 'traffic_metrics[interval_stop_max] = '+str(traffic_metrics['interval_stop_max']) - if traffic_metrics['interval_stop_max'] < traffic_duration_limit : - verdict = 'FAIL' - - - run_traffic = dict( traffic_count = traffic_metrics['traffic_count'], - bw_min = traffic_metrics['bw_min'], - bw_max = traffic_metrics['bw_max'], - bw_mean = traffic_metrics['bw_mean'], - bw_median = traffic_metrics['bw_median'], - jitter_min = traffic_metrics['jitter_min'], - jitter_max = traffic_metrics['jitter_max'], - jitter_mean = traffic_metrics['jitter_mean'], - jitter_median = traffic_metrics['jitter_median'], - rl_min = traffic_metrics['rl_min'], - rl_max = traffic_metrics['rl_max'], - rl_mean = traffic_metrics['rl_mean'], - rl_median = traffic_metrics['rl_median'], - iperf_duration = traffic_metrics['interval_stop_max'], - dur_pass_fail_crit = dur_pass_fail_crit, - traffic_fig = traffic_fig_report ) - else: - run_traffic = dict( traffic_count = 0) - - else : - verdict = 'SKIP' - - - - # - # RUN verdict and finalization - # ---------------------------------------------------- - run_stop_time=datetime.datetime.now() - run_duration = run_stop_time-run_start_time -# print (Fore.WHITE + ("duration=" :"), - print (Fore.WHITE + indent + "> RUN duration : "+ str(run_duration) +"s" ) - - print (Fore.WHITE + indent + "> RUN verdict :"), - - if verdict == 'PASS': - nb_run_pass += 1 - print ( Fore.GREEN + verdict) - elif verdict == 'FAIL': - nb_run_failed += 1 - testcase_verdict = 'FAIL' - print ( Fore.RED + verdict) - elif verdict == 'SKIP': - nb_run_skip += 1 - print ( Fore.YELLOW + verdict) - else: - nb_run_inc += 1 - if testcase_verdict == 'PASS' : testcase_verdict = 'INCON' - print (Fore.YELLOW+'INCONCLUSIVE') - - run_results = dict( run_id=str(run), - run_start_time = run_start_time, - run_stop_time = run_stop_time , - run_verdict = verdict, - ue_seg_fault_status = ue_seg_fault_status, - run_duration = run_duration, - runs_metrics = runs_metrics, - run_traffic = run_traffic) - runs_results.append(run_results) - - # END RUN LOOP - #---------------------------------------------------- - - indent="\t" - - # Test case duration - # ---------------------------------- - testcase_time_stop = datetime.datetime.now() - print(Fore.WHITE + indent + "> testcase time stop : " + str(testcase_time_start) ), - print " -> TestCase duration = "+str(testcase_time_stop - testcase_time_start) - - # Save remote log files - # ----------------------------------- - #Now we change the permissions of the logfiles to avoid some of them being with root permissions - cmd = 'sudo -E chown -R ' + user + ' ' + logdir_eNB_testcase - res= oai_eNB.send_recv(cmd) - cmd = 'sudo -E chown -R ' + user + ' ' + logdir_UE_testcase - res= oai_UE.send_recv(cmd) - - # Save remote log files on MTC - #print "Copying files from eNBMachine " + eNBMachine + "logdir_eNB = " + logdir_eNB - SSHSessionWrapper(eNBMachine, user, None, password, logdir_eNB_testcase, openairdir_local + '/cmake_targets/autotests/log/', "get_all") - #print "Copying files from UEMachine : " + UEMachine + "logdir_UE = " + logdir_UE - SSHSessionWrapper(UEMachine, user, None, password, logdir_UE_testcase, openairdir_local + '/cmake_targets/autotests/log/', "get_all") - - oai_eNB.disconnect() - oai_UE.disconnect() - - # Set test case final verdict - # ----------------------------------- - test_result_string = 'do be completed' - - if testcase_verdict == 'PASS': - if nb_run_pass == 0 : - testcase_verdict = 'INCON' - - print(Fore.WHITE + indent + "> testcase final verdict :"), - if testcase_verdict == 'PASS': - print ( Fore.GREEN + testcase_verdict) - elif testcase_verdict == 'FAIL': - print ( Fore.RED + testcase_verdict) - else: - print (Fore.YELLOW+'INCONCLUSIVE') - - print(Style.RESET_ALL) - - duration= testcase_time_stop - testcase_time_start - - test_result = dict(testcase_name=testcasename, - testcaseclass=testcaseclass, - testcase_verdict = testcase_verdict, - testcase_time_start=testcase_time_start, - testcase_time_stop=testcase_time_stop, - tags=tags, - nruns=nb_runs, - nb_run_pass = nb_run_pass, - nb_run_skip = nb_run_skip, - nb_run_failed = nb_run_failed, - nb_run_inc=nb_run_inc, - nb_seg_fault = nb_seg_fault, - testcase_timeout=timeout_cmd, - testcase_duration = duration, - testcase_eNBMachine =eNBMachine, - testcase_UEMachine =UEMachine, - runs_results = runs_results) - test_results.append(test_result) - - xmlFile = logdir_local_testcase + '/test.' + testcasename + '.xml' - xml="\n<testcase classname=\'"+ testcaseclass + "\' name=\'" + testcasename + "."+tags + "\' Run_result=\'" + test_result_string + "\' time=\'" + str(duration) + " s \' RESULT=\'" + testcase_verdict + "\'></testcase> \n" - write_file(xmlFile, xml, mode="w") - -# xmlFile_ng = logdir_local_testcase + '/test.' + testcasename + '_ng.xml' -# xml_ng = xmlify(test_result, wrap=testcasename, indent=" ") -# write_file(xmlFile_ng, xml_ng, mode="w") - - - - return testcase_verdict - - - - -# \brief This function searches if test case is present in list of test cases that need to be executed by user -# \param testcasename the test case to search for -# \param testcasegroup list that is passed from the arguments -# \param test_case_exclude list of test cases excluded from execution (specified in test_case_list.xml) -def search_test_case_group(testcasename, testcasegroup, test_case_exclude): - - if test_case_exclude != "": - testcase_exclusion_list=test_case_exclude.split() - for entry in testcase_exclusion_list: - if entry.find('+') >=0: - match = re.search(entry, testcasename) - if match: - #print "\nSkipping test case as it is found in black list: " + testcasename - return False - else: - match = entry.find(testcasename) - if match >=0: - #print "\nSkipping test case as it is found in black list: " + testcasename - return False - if testcasegroup == '': - return True - else: - testcaselist = testcasegroup.split() - for entry in testcaselist: - if entry.find('+') >=0: - match = re.search(entry, testcasename) - if match: - return True - else: - match = testcasename.find(entry) - if match >=0: - return True - return False - -# \brief thread that cleans up remote machines from pre-existing test case executions -# \param threadID number of thread (for book keeping) -# \param threadname name of thread (for book keeping) -# \param oai handler that can be used to execute programs on remote machines -# \param CleanUpOldProgs list of programs which must be terminated before running a test case (specified in test_case_list.xml) -# \param CleanupAluLteBox string that contains commands to stop ALU Bell Labs LTEBox (specified in test_case_list.xml) -# \param ExmimoRfStop command to stop EXMIMO Card -class oaiCleanOldProgramThread (threading.Thread): - def __init__(self, threadID, threadname, oai, CleanUpOldProgs, CleanUpAluLteBox, ExmimoRfStop, logdir, logdirOAI5GRepo): - threading.Thread.__init__(self) - self.threadID = threadID - self.threadname = threadname - self.oai = oai - self.CleanUpOldProgs = CleanUpOldProgs - self.CleanUpAluLteBox = CleanUpAluLteBox - self.ExmimoRfStop = ExmimoRfStop - self.logdir = logdir - self.logdirOAI5GRepo = logdirOAI5GRepo - def run(self): - try: - cleanOldPrograms(self.oai, self.CleanUpOldProgs, self.CleanUpAluLteBox, self.ExmimoRfStop, self.logdir, self.logdirOAI5GRepo) - except Exception, e: - error='' - error = error + ' In class oaiCleanOldProgramThread, function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + '\n threadID = ' + str(self.threadID) + '\n threadname = ' + self.threadname + '\n CleanUpOldProgs = ' + self.CleanUpOldProgs + '\n CleanUpAluLteBox = ' + self.CleanUpAluLteBox + '\n ExmimoRfStop = ' + self.ExmimoRfStop + '\n' - error = error + traceback.format_exc() - print error - print "There is error in cleaning up old programs....." - #sys.exit(1) - -# \brief Run parallel threads in all machines for clean up old execution of test cases -# \param oai_list list of handlers that can be used to execute programs on remote machines -# \param CleanUpOldProgs list of programs which must be terminated before running a test case (specified in test_case_list.xml) -# \param CleanupAluLteBox string that contains commands to stop ALU Bell Labs LTEBox (specified in test_case_list.xml) -# \param ExmimoRfStop command to stop EXMIMO Card -def cleanOldProgramsAllMachines(oai_list, CleanOldProgs, CleanUpAluLteBox, ExmimoRfStop, logdir_list, logdirOAI5GRepo): - threadId=0 - threadList=[] - index=0 - if len(oai_list)!=len(logdir_list) : - logdir_list=[logdir[0]]*len(oai_list) - - for oai in oai_list: - threadName="cleanup_thread_"+str(threadId) - thread=oaiCleanOldProgramThread(threadId, threadName, oai, CleanUpOldProgs, CleanUpAluLteBox, ExmimoRfStop, logdir_list[index],logdirOAI5GRepo) - threadList.append(thread) - thread.start() - threadId = threadId + 1 - index = index+1 - for t in threadList: - t.join() - - -debug = 0 -pw ='' -i = 0 -dlsim=0 -localshell=0 -GitOAI5GRepo='' -GitOAI5GRepoBranch='' -GitOAI5GHeadVersion='' -user='' -pw='' -testcasegroup='' -NFSResultsShare='' -cleanUpRemoteMachines=False -openairdir_local = os.environ.get('OPENAIR_DIR') -if openairdir_local is None: - print "Environment variable OPENAIR_DIR not set correctly" - sys.exit() -locallogdir = openairdir_local + '/cmake_targets/autotests/log' -reportdir = openairdir_local + '/cmake_targets/autotests/report' -MachineList = '' -MachineListGeneric='' -MachineDescDic={} -flag_remove_logdir=False -flag_start_testcase=False -nruns_lte_softmodem='' -flag_skip_git_head_check=False -flag_skip_oai_install=False -flag_skip_machine_preparation=False -flag_skip_sanity_check=False -flag_generate_html_report = False -Timeout_cmd='' -xmlInputFile='' - -#print "Number of arguments argc = " + str(len(sys.argv)) -#for index in range(1,len(sys.argv) ): -# print "argv_" + str(index) + " : " + sys.argv[index] - -oai_list = [] - - -i=1 -while i < len (sys.argv): - arg=sys.argv[i] - if arg == '-r': - flag_remove_logdir=True - elif arg == '-s' : - flag_start_testcase=True - elif arg == '-g' : - testcasegroup = sys.argv[i+1].replace("\"","") - i = i +1 - elif arg == '-c': - cleanUpRemoteMachines=True - elif arg == '-5GRepo': - GitOAI5GRepo = sys.argv[i+1] - i = i +1 - elif arg == '-5GRepoBranch': - GitOAI5GRepoBranch = sys.argv[i+1] - i = i +1 - elif arg == '-5GRepoHeadVersion': - GitOAI5GHeadVersion = sys.argv[i+1] - #We now find the branch that corresponds to this Git Head Commit - cmd = "git show-ref --head " + " | grep " + GitOAI5GHeadVersion - cmd_out = subprocess.check_output ([cmd], shell=True) - cmd_out=cmd_out.replace("\n","") - cmd_out = cmd_out.split('/') - GitOAI5GRepoBranch = cmd_out[-1] - if GitOAI5GRepoBranch == '': - print "Error extracting GitBranch from head commit. Exiting now..." - sys.exit(1) - i = i +1 - elif arg == '-u': - user = sys.argv[i+1] - i = i +1 - elif arg == '-p': - pw = sys.argv[i+1] - i = i +1 - elif arg == '-n': - NFSResultsShare = sys.argv[i+1] - i = i +1 - elif arg == '--nrun_lte_softmodem': - nruns_lte_softmodem = sys.argv[i+1] - i = i +1 - elif arg == '-MachineList': - MachineList = sys.argv[i+1] - MachineList = MachineList.replace("\"","") - MachineList = MachineList.replace("\'","") - i = i +1 - elif arg == '-MachineListGeneric': - MachineListGeneric = sys.argv[i+1] - MachineListGeneric = MachineListGeneric.replace("\"","") - MachineListGeneric = MachineListGeneric.replace("\'","") - i = i +1 - elif arg == '--skip-git-head-check': - flag_skip_git_head_check=True - elif arg == '--timeout_cmd': - Timeout_cmd = sys.argv[i+1] - i = i +1 - elif arg == '--skip-oai-install': - flag_skip_oai_install=True - elif arg == '--skip-machine-preparation': - flag_skip_machine_preparation=True - elif arg == '--skip-sanity-check': - flag_skip_sanity_check=True - elif arg == '--test-suite' : - xmlInputFile = sys.argv[i+1] - i = i +1 - elif arg == '--generate-html-report': - flag_generate_html_report=True - elif arg == '-h' : - print "-s: This flag *MUST* be set to start the test cases" - print "-r: Remove the log directory in autotests" - print "-g: Run test cases in a group" - print "-c: Run cleanup scripts on remote machines and exit" - print "-5GRepo: Repository for OAI 5G to use to run tests (overrides GitOAI5GRepo in test_case_list.xml)" - print "-5GRepoBranch: Branch for OAI 5G Repository to run tests (overrides the branch in test_case_list.xml)" - print "-5GRepoHeadVersion: Head commit on which to run tests (overrides the branch in test_case_list.xml)" - print "-u: use the user name passed as argument" - print "-p: use the password passed as an argument" - print "-n: Set the NFS share passed as an argument" - print "--nrun_lte_softmodem: Set the number of runs for lte-softmodem test case class" - print "-MachineList : overrides the MachineList parameter in test_case_list.xml" - print "-MachineListGeneric : overrides the MachineListGeneric parameter in test_case_list.xml" - print "--skip-git-head-check: skip checking of GitHead remote/local branch (only for debugging)" - print "--timeout_cmd: Override the default parameter (timeout_cmd) in test_case_list.xml. This parameter is in seconds and should be > 120" - print "--skip-oai-install: Skips the openairinterface5g installer" - print "--skip-machine-preparation: skipp the whole system preparation -> direct to test cases" - print "--skip-sanity-check: skipp the machine sanity checks" - print "--test-suite: Select a XML test-suite file" - print "--generate-html-report: Generate an HTML report of the test campaign (supported only for noS1 testsuite !!)" - sys.exit() - else : - print "Unrecongnized Option: <" + arg + ">. Use -h to see valid options" - sys.exit() - i= i + 1 - -logdir = '/tmp/' + 'OAITestFrameWork-' + user + '/' -logdirOAI5GRepo = logdir + 'openairinterface5g/' -logdirOpenaircnRepo = logdir + 'openair-cn/' -patchdir = logdirOAI5GRepo + 'cmake_targets/autotests/patches/' -NFSResultsDir = '/mnt/sradio' -cleanupOldProgramsScript = '$OPENAIR_DIR/cmake_targets/autotests/tools/remove_old_programs.bash' - -#Now we parse the xml file for basic configuration -if xmlInputFile == '': - xmlInputFile=os.environ.get('OPENAIR_DIR')+"/cmake_targets/autotests/test_case_list.xml" -xmlTree = ET.parse(xmlInputFile) -xmlRoot = xmlTree.getroot() - -# -# Read test session configuration -# --------------------------------------------------------------------------------- -print (Fore.YELLOW + '\nStep 0.1 - Read test session configuration') -print (Fore.YELLOW + '-------------------------------------------------') - -test_session_start_time = datetime.datetime.now() -print (Fore.WHITE + ' - start time : '+ str(test_session_start_time)) - -host = os.uname()[1] -print (Fore.WHITE + ' - MTC host : '+host) - - -if user=='': - user = getpass.getuser() -print (Fore.WHITE + ' - user : '+user) - -if pw=='': - pw = getpass.getpass() -print (Fore.WHITE + ' - password : '+pw) - -print (Fore.WHITE + ' - cmd line flags : ') -print (Fore.WHITE + ' + -s : '+str(flag_start_testcase)) -print (Fore.WHITE + ' + -r : '+str(flag_remove_logdir)) -print (Fore.WHITE + ' + -c : '+str(cleanUpRemoteMachines)) -print (Fore.WHITE + ' + --skip-git-head-check : '+str(flag_skip_git_head_check)) -print (Fore.WHITE + ' + --skip-oai-install : '+str(flag_skip_oai_install)) -print (Fore.WHITE + ' + --skip-machine-preparation : '+str(flag_skip_machine_preparation)) -print (Fore.WHITE + ' + --skip-sanity-check : '+str(flag_skip_sanity_check)) - - -print (Fore.WHITE + ' - Test setup basic config : (* -> overwrite by cmd line parameter)') -print (Fore.WHITE + ' + test setup config file : '+str(xmlInputFile)) -print (Fore.WHITE + ' + remote setup dir : '+str(logdir)) -print (Fore.WHITE + ' + remote OAI5G repo : '+str(logdirOAI5GRepo)) -print (Fore.WHITE + ' + remote OpenAirCN repo : '+str(logdirOpenaircnRepo)) - - -if MachineList =='': - MachineList = xmlRoot.findtext('MachineList',default='') -NFSResultsShare = xmlRoot.findtext('NFSResultsShare',default='') -GitOpenaircnRepo = xmlRoot.findtext('GitOpenair-cnRepo',default='') - -if GitOAI5GRepo == '': - GitOAI5GRepo = xmlRoot.findtext('GitOAI5GRepo',default='') - -if GitOAI5GRepoBranch == '': - GitOAI5GRepoBranch = xmlRoot.findtext('GitOAI5GRepoBranch',default='') -if GitOAI5GHeadVersion == '': - GitOAI5GHeadVersion = xmlRoot.findtext('GitOAI5GHeadVersion',default='') - -GitOpenaircnRepoBranch = xmlRoot.findtext('GitOpenair-cnRepoBranch',default='') -CleanUpOldProgs = xmlRoot.findtext('CleanUpOldProgs',default='') -CleanUpAluLteBox = xmlRoot.findtext('CleanUpAluLteBox',default='') -Timeout_execution = int (xmlRoot.findtext('Timeout_execution')) -if MachineListGeneric == '': - MachineListGeneric = xmlRoot.findtext('MachineListGeneric',default='') -TestCaseExclusionList = xmlRoot.findtext('TestCaseExclusionList',default='') -ExmimoRfStop = xmlRoot.findtext('ExmimoRfStop',default='') -if nruns_lte_softmodem == '': - nruns_lte_softmodem = xmlRoot.findtext('nruns_lte-softmodem',default='') - -print (Fore.WHITE + ' + MachineList : '+ MachineList) -print (Fore.WHITE + ' + GitOpenair-cnRepo : '+ GitOpenaircnRepo) -print (Fore.WHITE + ' + GitOAI5GRepo : '+ GitOAI5GRepo) -print (Fore.WHITE + ' + GitOAI5GBranch : '+ GitOAI5GRepoBranch) -print (Fore.WHITE + ' + GitOpenaircnRepoBranch : '+ GitOpenaircnRepoBranch) -print (Fore.WHITE + ' + NFSResultsShare : '+ NFSResultsShare) -print (Fore.WHITE + ' + nruns_lte_softmodem : '+ nruns_lte_softmodem) -print (Fore.WHITE + ' + Timeout_cmd : '+ Timeout_cmd) - - -if GitOAI5GHeadVersion == '': - cmd = "git log --pretty=format:\'%H\' -n 1" # origin/"+ GitOAI5GRepoBranch -# cmd = "git show-ref --heads -s "+ GitOAI5GRepoBranch - GitOAI5GHeadVersion = subprocess.check_output ([cmd], shell=True) - GitOAI5GHeadVersion=GitOAI5GHeadVersion.replace("\n","") - - # Print commiter and date : git log -1 --pretty=format:"%an %ad" - -print (Fore.WHITE + ' + GitOAI5GHeadVersion : '+ GitOAI5GHeadVersion) -#print "CleanUpOldProgs = " + CleanUpOldProgs -print (Fore.WHITE + ' + Timeout_execution (s) : '+ str(Timeout_execution)) - -if GitOAI5GHeadVersion == '': - print "Error getting the OAI5GBranch Head version...Exiting" - sys.exit() - -NFSTestsResultsDir = NFSResultsShare + '/'+ GitOAI5GRepoBranch + '/' + GitOAI5GHeadVersion - -#print "NFSTestsResultsDir = " + NFSTestsResultsDir - -OAI5GpatchFileList=xmlRoot.findall('OAI5GPatchFile') - - - -MachineList = MachineList.split() -MachineListGeneric = MachineListGeneric.split() - - -MachineDescDic - - -# -# 'Check Mater Test Controller sanity (MTC)' -# --------------------------------------------------------------------------------- -print (Fore.YELLOW + '\nStep 0.2 - Check Mater Test Controller sanity (MTC)') -print (Fore.YELLOW + '-------------------------------------------------') - -try: - print (Fore.WHITE + ' - check OpenAirInterface environment variable OPENAIR1_DIR... '), - os.environ["OPENAIR1_DIR"] -except KeyError: - print (Fore.RED + 'FAILED') - print "Please set the environment variable OPENAIR1_DIR in the .bashrc or run 'source oaienv' " - exit_prog(1) -print (Fore.GREEN + 'OK') - -try: - print (Fore.WHITE + ' - check OpenAirInterface environment variable OPENAIR2_DIR... '), - os.environ["OPENAIR2_DIR"] -except KeyError: - print (Fore.RED + 'FAILED') - print "Please set the environment variable OPENAIR2_DIR in the .bashrc or run 'source oaienv' " - exit_prog(1) -print (Fore.GREEN + 'OK') - -try: - os.environ["OPENAIR_TARGETS"] -except KeyError: - print "Please set the environment variable OPENAIR_TARGETS in the .bashrc or run 'source oaienv' " - sexit_prog(1) - -print (Fore.WHITE + ' - kill zombie ssh sessions from earlier sessions... '), -cmd='ps aux |grep \"/usr/bin/ssh -q -l ' + user + '\"| tr -s \" \" :| cut -f 2 -d :| xargs kill -9 ' -os.system(cmd) -print (Fore.GREEN + 'DONE') - -if flag_start_testcase == False: - print "You need to start the testcase by passing option -s. Use -h to see all options. Aborting now..." - exit_prog(1) - - -#print "Killing zombie ssh sessions from earlier sessions..." -#cmd='ps aux |grep \"/usr/bin/ssh -q -l guptar\"|tr -s \" \" :|cut -f 2 -d :|xargs kill -9 ' -#cmd = cmd + '; ps aux |grep \"/usr/bin/ssh -q -l ' + user + '\"| tr -s \" \" :| cut -f 2 -d :| xargs kill -9 ' -#os.system(cmd) -#print cmd - -try: - analyser = __import__("lib_autotest_analyser") -except ImportError as err: - print('Import error: ' + str(err)) - exit(0) - -if flag_remove_logdir == True: - print "Removing directory: " + locallogdir - os.system(' rm -fr ' + locallogdir + '; mkdir -p ' + locallogdir ) - -if not os.path.exists(locallogdir): - os.system('mkdir -p ' + locallogdir ) - - -paramiko_logfile = os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/log/paramiko.log') -res=os.system(' echo > ' + paramiko_logfile) -paramiko.util.log_to_file(paramiko_logfile) - - -# -# 'REMOTE MACHINE SANITY CHEKS' -# --------------------------------------------------------------------------------- -print (Fore.YELLOW + '\nStep 0.3 - REMOTE MACHINE SANITY CHEKS') -print (Fore.YELLOW + '-------------------------------------------------') - - -for machine in MachineList: - oai_list.append( openair('localdomain',machine)) - MachineDescDic[machine]={} - - -if not flag_skip_sanity_check: - - if localshell == 0: - try: - index=0 - for machine in MachineList: - print (Fore.WHITE + " - Check sanity for remote machine "+machine) - - oai_list[index].connect(user,pw) - print (Fore.WHITE + " > Checking for sudo permissions for user "+user+ " : "), - result = oai_list[index].send_expect_false('sudo -S -v','may not run sudo',True) - if (result == 'OK'): - print (Fore.GREEN + result ) - else: - print (Fore.RED + result ) - - print (Fore.WHITE + " > Cleaning Older running programs : "), - cleanOldPrograms(oai_list[index], CleanUpOldProgs, CleanUpAluLteBox, ExmimoRfStop, '$HOME', '/tmp') - print (Fore.WHITE + " Done") - - #result = oai_list[index].send('mount ' + NFSResultsDir, True) - #print "Mounting NFS Share " + NFSResultsDir + "..." + result - - # Check if NFS share is mounted correctly. - #print 'Checking if NFS Share<' + NFSResultsDir + '> is mounted correctly...' - #cmd = 'if grep -qs '+NFSResultsDir+ ' /proc/mounts; then echo \'' + NFSResultsDir + ' is mounted\' ; fi' - #search_expr = NFSResultsDir + ' is mounted' - #print "cmd = " + cmd - #print "search_expr = " + search_expr - #result = oai_list[index].send_expect(cmd, search_expr) - #print "Mount NFS_Results_Dir..." + result - index = index + 1 - - #oai.connect2(user,pw) - #oai.get_shell() - except : - print 'Fail to connect to the machine: '+ machine - sys.exit(1) - else: - pw = '' - oai_list[0].connect_localshell() -else: - print (Fore.RED + " Skipping Machine sanity check...") - -# -# 'REMOTE MACHINE TEST SETUP CONFIGURATION' -# --------------------------------------------------------------------------------- -print (Fore.YELLOW + '\nStep 0.4 - REMOTE MACHINE PREPARATION') -print (Fore.YELLOW + '-------------------------------------------------') - -if not flag_skip_machine_preparation: - index=0 - threads_init_setup=[] - for oai in oai_list: - try: - print "setting up machine: " + MachineList[index] - #print oai_list[oai].send_recv('echo \''+pw+'\' |sudo -S -v') - #print oai_list[oai].send_recv('sudo su') - #print oai_list[oai].send_recv('who am i') - #cleanUpPrograms(oai_list[oai] - cmd = 'sudo -S -E rm -fr ' + logdir + ' ; mkdir -p ' + logdir - result = oai.send_recv(cmd) - print cmd - - setuplogfile = logdir + '/setup_log_' + MachineList[index] + '_.txt' - setup_script = locallogdir + '/setup_script_' + MachineList[index] + '_.txt' - - #Sometimes git fails so the script below retries in that case - localfile = os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/tools/git-retry.sh') - remotefile = logdir + '/git-retry.sh' - paramList=[] - port=22 - paramList.append ( {"operation":'put', "localfile":localfile, "remotefile":remotefile} ) - sftp_log = os.path.expandvars(locallogdir + '/sftp_module.log') - sftp_module (user, pw, MachineList[index], port, paramList, sftp_log) - - cmd = ' ( \n' - #cmd = cmd + 'rm -fR ' + logdir + '\n' - #cmd = cmd + 'mkdir -p ' + logdir + '\n' - cmd = cmd + 'cd '+ logdir + '\n' - cmd = cmd + 'sudo apt-get install -y git \n' - cmd = cmd + 'chmod 700 ' + logdir + '/git-retry.sh \n' - cmd = cmd + logdir + '/git-retry.sh clone '+ GitOAI5GRepo +' \n' - cmd = cmd + logdir + '/git-retry.sh clone '+ GitOpenaircnRepo + ' \n' - cmd = cmd + 'cd ' + logdirOAI5GRepo + '\n' - cmd = cmd + 'git checkout ' + GitOAI5GRepoBranch + '\n' - if GitOAI5GHeadVersion : - cmd = cmd + 'git checkout ' + GitOAI5GHeadVersion + '\n' - cmd = cmd + 'git_head=`git ls-remote |grep \'' + GitOAI5GRepoBranch + '\'` \n' - cmd = cmd + 'git_head=($git_head) \n' - cmd = cmd + 'git_head=${git_head[0]} \n' - cmd = cmd + 'echo \"GitOAI5GHeadVersion_remote = $git_head\" \n' - cmd = cmd + 'echo \"GitOAI5GHeadVersion_local = ' + GitOAI5GHeadVersion + '\" \n' - if flag_skip_git_head_check==True: - cmd = cmd + 'echo \"skipping GitHead check...\" \n ' - else: - cmd = cmd + 'if [ \"$git_head\" != \"'+ GitOAI5GHeadVersion + '\" ]; then echo \"error: Git openairinterface5g head version does not match\" ; fi \n' - cmd = cmd + 'source oaienv' + '\n' - if flag_skip_oai_install == False: - cmd = cmd + 'source $OPENAIR_DIR/cmake_targets/tools/build_helper \n' - cmd = cmd + 'echo \"Installing core OAI dependencies...Start\" \n' - cmd = cmd + '$OPENAIR_DIR/cmake_targets/build_oai -I --install-optional-packages \n' - cmd = cmd + 'echo \"Installing core OAI dependencies...Finished\" \n' - #cmd = cmd + 'echo \"Installing BLADERF OAI dependencies...Start\" \n' - #cmd = cmd + 'check_install_bladerf_driver \n' - #cmd = cmd + 'echo \"Installing BLADERF OAI dependencies...Finished\" \n' - #cmd = cmd + 'echo \"Installing USRP OAI dependencies...Start\" \n' - #cmd = cmd + 'check_install_usrp_uhd_driver \n' - #cmd = cmd + 'echo \"Installing USRP OAI dependencies...Finished\" \n' - cmd = cmd + 'cd ' + logdirOpenaircnRepo + '\n' - cmd = cmd + 'git checkout ' + GitOpenaircnRepoBranch + '\n' - cmd = cmd + 'env |grep OPENAIR' + '\n' - cmd = cmd + ' cd ' + logdir + '\n' - cmd = cmd + 'mkdir -p ' + patchdir + '\n' - cmd = cmd + ' ) > ' + setuplogfile + ' 2>&1 \n' - #cmd = cmd + 'echo \' ' + cmd + '\' > ' + setup_script + ' 2>&1 \n ' - #result = oai_list[index].send_recv(cmd, False, 300 ) - write_file(setup_script, cmd, mode="w") - tempThread = oaiThread(index, 'thread_setup_'+str(index)+'_' + MachineList[index] , MachineList[index] , user, pw, cmd, False, 3000) - threads_init_setup.append(tempThread ) - tempThread.start() - index = index + 1 - except Exception, e: - print 'There is error in one of the commands to setup the machine '+ MachineList[index] - error='' - error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + traceback.format_exc() - print error - sys.exit(1) - - #Now we wait for all the threads to complete - index = 0 - for t in threads_init_setup: - t.join() - - port = 22 - paramList=[] - sftp_log = os.path.expandvars(locallogdir + '/sftp_module.log') - - #Now we copy patch files and apply them - print( Fore.WHITE + " - Installating patch files on machine " + MachineList[index]) - for patchFile in OAI5GpatchFileList: - localfile = os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/patches/')+patchFile.get('name') - remotefile = logdirOAI5GRepo + '/cmake_targets/autotests/patches/'+patchFile.get('name') - if patchFile.get('machine') == MachineList[index] or patchFile.get('machine') == None: - if os.path.isfile(localfile): - print( Fore.WHITE + "\t> PATCH FILE :"+localfile) - paramList=[] - paramList.append ( {"operation":'put', "localfile":localfile, "remotefile":remotefile} ) - sftp_module (user, pw, MachineList[index], port, paramList, sftp_log) - cmd = ' cd ' + logdirOAI5GRepo + ' ;git apply cmake_targets/autotests/patches/'+patchFile.get('name') - res = oai_list[index].send_recv(cmd) - #print res - - paramList=[] - - setuplogfile = logdir + '/setup_log_' + MachineList[index] + '_.txt' - setup_script = locallogdir + '/setup_script_' + MachineList[index] + '_.txt' - localfile = locallogdir + '/setup_log_' + MachineList[index] + '_.txt' - remotefile = logdir + '/setup_log_' + MachineList[index] + '_.txt' - sftp_log = os.path.expandvars(locallogdir + '/sftp_module.log') - paramList.append ( {"operation":'get', "localfile":localfile, "remotefile":remotefile} ) - #sftp_module (user, pw, MachineList[index], port, localfile, remotefile, sftp_log, "get") - - #Now we copy test_case_list.xml on the remote machines - localfile = os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/test_case_list.xml') - remotefile = logdirOAI5GRepo + '/cmake_targets/autotests/test_case_list.xml' - # paramList.append ( {"operation":'put', "localfile":localfile, "remotefile":remotefile} ) - # sftp_module (user, pw, MachineList[index], port, paramList, sftp_log) - - sftp_module (user, pw, MachineList[index], port, paramList, sftp_log) - - - cmd = ' cd ' + logdirOAI5GRepo + ' ; source oaienv ; env|grep OPENAIR \n' - res = oai_list[index].send_recv(cmd) - index = index +1 - if os.path.exists(localfile) == 0: - print "Setup log file <" + localfile + "> missing for machine <" + MachineList[index] + ">. Please check the setup log files. Exiting now" - sys.exit(1) - - #Now we process all the test cases - #Now we check if there was error in setup files - - status, out = commands.getstatusoutput('grep ' + ' -il \'error\' ' + locallogdir + '/setup_log*') - if (out != '') : - print "There is error in setup of machines" - print "status = " + str(status) + "\n Check files for error = " + out - print "Exiting now..." - sys.exit(1) - - cleanOldProgramsAllMachines(oai_list, CleanUpOldProgs, CleanUpAluLteBox, ExmimoRfStop, '$HOME' , logdirOAI5GRepo) - if cleanUpRemoteMachines == True: - print "Error while cleaning Remote machines" - print "Exiting now..." - sys.exit(0) - - -else: - print (Fore.RED + " Skipping Machine preparation...") - -# ************************************************************************** -# ************************************************************************** -# STEP 2 - TEST SELECTION AND PARAMETRIZATION -# ************************************************************************** -# ************************************************************************** - -print (Fore.YELLOW + '\nStep 2 - TEST SELECTION') -print (Fore.YELLOW + '-------------------------------------------------') - -print (Fore.WHITE + " Parsing test case list for test selection...") -print (Fore.WHITE + " - TestCaseExclusionList : "+TestCaseExclusionList) -print (Fore.WHITE + " - testcasegroup : "+testcasegroup) - - -testcaseList=xmlRoot.findall('testCase') - -nb_total_testcases = 0 -nb_total_testcases_softmodem = 0 -nb_total_testcases_softmodem_noS1 = 0 -nb_total_testcases_compilation = 0 -nb_total_testcases_execution = 0 - -nb_run_testcases = 0 -nb_run_testcases_softmodem = 0 -nb_run_testcases_softmodem_noS1 = 0 -nb_run_testcases_compilation = 0 -nb_run_testcases_execution = 0 - - -for testcase in testcaseList: - try: - testcasename = testcase.get('id') - testcaseclass = testcase.findtext('class',default='') - desc = testcase.findtext('desc',default='') - nb_total_testcases+=1 - - run_flag = search_test_case_group(testcasename, testcasegroup, TestCaseExclusionList) - if (run_flag): - nb_run_testcases+=1 - - if testcaseclass == 'lte-softmodem' : - nb_total_testcases_softmodem+=1 - if (run_flag): nb_run_testcases_softmodem+=1 - elif testcaseclass == 'lte-softmodem-noS1': - nb_total_testcases_softmodem_noS1+=1 - if (run_flag): nb_run_testcases_softmodem_noS1+=1 - elif testcaseclass == 'compilation': - nb_total_testcases_compilation+=1 - if (run_flag): nb_run_testcases_compilation+=1 - elif testcaseclass == 'execution': - nb_total_testcases_execution+=1 - if (run_flag): nb_run_testcases_execution+=1 - else : - print "Unknown test case class: " + testcaseclass - sys.exit() - - except Exception, e: - error='' - error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + '\n testcasename = ' + testcasename + '\n testcaseclass = ' + testcaseclass + '\n desc = ' + 'desc' + '\n' - error = error + traceback.format_exc() - print error - print "Continuing to next test case..." - -print (Fore.WHITE + " Parsing done...") - -print (Fore.WHITE + " - Total number of test cases : "+str(nb_total_testcases)) -print (Fore.WHITE + " - Total number class softmodem : "+str(nb_total_testcases_softmodem)) -print (Fore.WHITE + " - Total number class softmodem-noS1 : "+str(nb_total_testcases_softmodem_noS1)) -print (Fore.WHITE + " - Total number class compilation : "+str(nb_total_testcases_compilation)) -print (Fore.WHITE + " - Total number class execution : "+str(nb_total_testcases_execution)) -print -print (Fore.WHITE + " - Selected number of test cases : "+str(nb_run_testcases)) -print (Fore.WHITE + " - Selected class softmodem : "+str(nb_run_testcases_softmodem)) -print (Fore.WHITE + " - Selected class softmodem_noS1 : "+str(nb_run_testcases_softmodem_noS1)) -print (Fore.WHITE + " - Selected class compilation : "+str(nb_run_testcases_compilation)) -print (Fore.WHITE + " - Selected class execution : "+str(nb_run_testcases_execution)) - - -# ************************************************************************** -# ************************************************************************** -# STEP 3 - TEST CAMPAIGNS -# ************************************************************************** -# ************************************************************************** - -test_results = [] - - -print (Fore.YELLOW + '\nStep 3 - TEST CAMPAIGNS') -print (Fore.YELLOW + '-------------------------------------------------') - -print (Fore.WHITE + " Start test campaign...") - -threadListGlobal=[] -run_count = 0 -for testcase in testcaseList: - try: - testcasename = testcase.get('id') - testcaseclass = testcase.findtext('class',default='') - desc = testcase.findtext('desc',default='') - #print "Machine list top level = " + ','.join(MachineList) - - if search_test_case_group(testcasename, testcasegroup, TestCaseExclusionList) == True: - run_count+=1 - print (Fore.WHITE + " ("+str(run_count).zfill(3)+"/"+str(nb_run_testcases).zfill(3)+") - test case "+testcasename+" : "), - if testcaseclass == 'lte-softmodem' : - #First we wait for all the test cases in generic test case class to finish as they are running in parallel - threadListGlobal = wait_testcaseclass_generic_threads(threadListGlobal, Timeout_execution) - eNBMachine = testcase.findtext('eNB',default='') - UEMachine = testcase.findtext('UE',default='') - EPCMachine = testcase.findtext('EPC',default='') - #index_eNBMachine = MachineList.index(eNBMachine) - #index_UEMachine = MachineList.index(UEMachine) - #index_EPCMachine = MachineList.index(EPCMachine) - if (eNBMachine not in MachineList)|(UEMachine not in MachineList)|(UEMachine not in MachineList): - print "One of the machines is not in the machine list" - print "eNBMachine : " + eNBMachine + "UEMachine : " + UEMachine + "EPCMachine : " + EPCMachine + "MachineList : " + ','.join(MachineList) - print "testcasename = " + testcasename + " class = " + testcaseclass - #cleanOldProgramsAllMachines(oai_list, CleanUpOldProgs, CleanUpAluLteBox, ExmimoRfStop) - handle_testcaseclass_softmodem (testcase, CleanUpOldProgs, logdirOAI5GRepo, logdirOpenaircnRepo, MachineList, user, pw, CleanUpAluLteBox, ExmimoRfStop, nruns_lte_softmodem, GitOAI5GRepoBranch, GitOpenaircnRepoBranch, Timeout_cmd ) - - #The lines below are copied from below to trace the failure of some of the machines in test setup. These lines below need to be removed in long term - print "Creating xml file for overall results..." - cmd = "cat $OPENAIR_DIR/cmake_targets/autotests/log/*/*.xml > $OPENAIR_DIR/cmake_targets/autotests/log/results_autotests.xml " - res=os.system(cmd) - os.system('sync') - print "Now copying files to NFS Share" - oai_localhost = openair('localdomain','localhost') - oai_localhost.connect(user,pw) - cmd = ' mkdir -p ' + NFSTestsResultsDir - res = oai_localhost.send_recv(cmd) - - print "Copying files from GilabCI Runner Machine : " + host + " .locallogdir = " + locallogdir + ", NFSTestsResultsDir = " + NFSTestsResultsDir - SSHSessionWrapper('localhost', user, None, pw , NFSTestsResultsDir , locallogdir, "put_all") - oai_localhost.disconnect() - - elif testcaseclass == 'lte-softmodem-noS1' : - eNBMachine = testcase.findtext('eNB',default='') - UEMachine = testcase.findtext('UE',default='') - if (eNBMachine not in MachineList)|(UEMachine not in MachineList): - print "One of the machines is not in the machine list" - print "eNBMachine : " + eNBMachine + "UEMachine : " + UEMachine + "MachineList : " + ','.join(MachineList) - print "testcasename = " + testcasename + " class = " + testcaseclass - threadListGlobal = wait_testcaseclass_generic_threads(threadListGlobal, Timeout_execution) - - handle_testcaseclass_softmodem_noS1 (testcase, CleanUpOldProgs, logdirOAI5GRepo, logdirOpenaircnRepo, MachineList, user, pw, CleanUpAluLteBox, ExmimoRfStop, nruns_lte_softmodem, Timeout_cmd ) - - #The lines below are copied from below to trace the failure of some of the machines in test setup. These lines below need to be removed in long term - print "Creating xml file for overall results..." - cmd = "cat $OPENAIR_DIR/cmake_targets/autotests/log/*/*.xml > $OPENAIR_DIR/cmake_targets/autotests/log/results_autotests.xml " - res=os.system(cmd) - os.system('sync') - - elif (testcaseclass == 'compilation'): - threadListGlobal = handle_testcaseclass_generic (testcasename, threadListGlobal, CleanUpOldProgs, logdirOAI5GRepo, MachineListGeneric, user, pw, CleanUpAluLteBox,Timeout_execution, ExmimoRfStop) - elif (testcaseclass == 'execution'): - threadListGlobal = handle_testcaseclass_generic (testcasename, threadListGlobal, CleanUpOldProgs, logdirOAI5GRepo, MachineListGeneric, user, pw, CleanUpAluLteBox, Timeout_execution, ExmimoRfStop) - else : - print "Unknown test case class: " + testcaseclass - sys.exit() - - except Exception, e: - error='' - error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + '\n testcasename = ' + testcasename + '\n testcaseclass = ' + testcaseclass + '\n desc = ' + 'desc' + '\n' - error = error + traceback.format_exc() - print error - print "Continuing to next test case..." - #sys.exit(1) - - -print "Exiting the test cases execution now. Waiting for existing threads to complete..." - -for param in threadListGlobal: - thread_id = param["thread_id"] - thread_id.join() - - -# ************************************************************************** -# ************************************************************************** -# STEP 4 - TEST REPORT PRODUCTION -# ************************************************************************** -# ************************************************************************** - - - -test_session_stop_time = datetime.datetime.now() - -print (Fore.YELLOW + '\nStep 4 - TEST REPORT PRODUCTION') -print (Fore.YELLOW + '-------------------------------------------------') - -# XML test report -# -------------------------------------------------------------------- -print "Creating xml file for overall results..." -cmd = "cat $OPENAIR_DIR/cmake_targets/autotests/log/*/*.xml > $OPENAIR_DIR/cmake_targets/autotests/log/results_autotests.xml " -res=os.system(cmd) - -print "Now copying files to NFS Share" -oai_localhost = openair('localdomain','localhost') -oai_localhost.connect(user,pw) -cmd = 'mkdir -p ' + NFSTestsResultsDir -res = oai_localhost.send_recv(cmd) - -print "Copying files from GilabCI Runner Machine : " + host + " .locallogdir = " + locallogdir + ", NFSTestsResultsDir = " + NFSTestsResultsDir -SSHSessionWrapper('localhost', user, None, pw , NFSTestsResultsDir , locallogdir, "put_all") - -cmd = "cat " + NFSTestsResultsDir + "/log/*/*.xml > " + NFSTestsResultsDir + "/log/results_autotests.xml" -res = oai_localhost.send_recv(cmd) - -oai_localhost.disconnect() - - -# HTML test report -# -------------------------------------------------------------------- -if flag_generate_html_report: - - print "Creating html test report..." - - report_dir = reportdir + '/'+ test_session_start_time.strftime("%Y-%m-%d_%H-%M")+"_"+host - - cmd = 'mkdir -p ' + report_dir - result = os.system(cmd) - - cmd = 'cp -r '+locallogdir+' '+report_dir - result = os.system(cmd) - - context = { - 'report_path' : report_dir, - 'test_session_start_time' : test_session_start_time, - 'test_session_stop_time' : test_session_stop_time, - 'test_session_duration' : test_session_stop_time-test_session_start_time, - 'mtc_host' : host, - 'user' : user, - 'password' : pw, - 'test_results' : test_results, - } - - for test_result in test_results: - cmd = 'mkdir -p ' + report_dir + '/'+ test_result['testcase_name'] - result = os.system(cmd) - - report_file = report_dir + '/'+ test_result['testcase_name'] + '/'+ test_result['testcase_name']+ '_report.html' - - analyser.create_test_report_detailed_html(test_result, report_file ) - - # print test_result - - analyser.create_report_html(context) - - -sys.exit() diff --git a/cmake_targets/autotests/templates/index.html b/cmake_targets/autotests/templates/index.html deleted file mode 100755 index 10a15fb53da1438dae34eee9cf16dd6eaabd111c..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/templates/index.html +++ /dev/null @@ -1,87 +0,0 @@ -<!DOCTYPE html> -<html> -<head> - <meta charset="utf-8"/> - <title>OAI5G UE Autotest Report</title> - <script type="text/javascript"> - function showhide(id) { - var e = document.getElementById(id); - e.style.display = (e.style.display == 'block') ? 'none' : 'block'; - } -</script> -</head> -<style> -table, th, td { - border: 1px solid black; - border-collapse: collapse; - padding: 5px; -} -</style> -<body> -<center> -<h2>OAI5G UE Autotest Report</h2> -</center> - -<p> - <table border> - <caption>Test session configuration</caption> - <tr><td>Start time</td><td>{{test_session_start_time}}</td></tr> - <tr><td>Stop time</td><td>{{test_session_stop_time}}</td></tr> - <tr><td>Duration</td><td>{{test_session_duration}}</td></tr> - <tr><td>MTC host</td><td>{{mtc_host}}</td></tr> - <tr><td>User</td><td>{{user}}</td></tr> - <tr><td>Password</td><td>{{password}}</td></tr> - </table> -</p> - - -<h3>Test Setup</h3> -To be complete - -<br></br> -<h3>UE phy-test performances tests results</h3> -<h4>Objectives</h4> -<p>Checks that OAI UE can achieve at least 75 percent of the theoretical throughput.</p> -<p>Tests are done for all MCS (0 to 28) for 5MHz and 10MHz bandwidth.</p> -<h4>Results</h4> - -<table> -<TR><TH>ID</TH><TH>TAG</TH><TH>VERDICT</TH><TH>NB RUNS</TH><TH>PASS</TH><TH>FAILED</TH><TH>INCON</TH><TH>SKIPPED</TH><TH>SEG FAULT</TH><TH>TC Timeout</TH><TH>Start</TH><TH>Stop</TH><TH>Duration</TH><TH>Details</TH></TR> -{% for result in test_results|sort(attribute='testcase_name') %} -<TR> - <TD >{{result.testcase_name}}</TD> - <TD align="right">{{result.tags}}</TD> - {% if result.testcase_verdict == "PASS" %} - <TD align="center" style="background-color:green">{{result.testcase_verdict}}</TD> - {% elif result.testcase_verdict == "FAIL" %} - <TD align="center" style="background-color:red">{{result.testcase_verdict}}</TD> - {% else %} - <TD align="center" style="background-color:orange">{{result.testcase_verdict}}</TD> - {% endif %} - <TD align='center'>{{result.nruns}}</TD> - <TD align='center'>{{result.nb_run_pass}}</TD> - <TD align='center'>{{result.nb_run_failed}}</TD> - <TD align='center'>{{result.nb_run_inc}}</TD> - <TD align='center'>{{result.nb_run_skip}}</TD> - <TD align='center'>{{result.nb_seg_fault}}</TD> - <TD >{{result.testcase_timeout}}</TD> - <TD >{{result.testcase_time_start.strftime('%Y-%m-%d %H:%M:%S')}}</TD> - <TD >{{result.testcase_time_stop.strftime('%Y-%m-%d %H:%M:%S')}}</TD> - <TD >{{result.testcase_duration}}</TD> - <TD ><a href="{{ result.testcase_name }}/{{ result.testcase_name }}_report.html">{{ result.testcase_name }}_report.html</a></TD> -</TR> -{% endfor %} -</table> - - -<br></br> -<h3>UE phy-test stability tests results</h3> -<h4>Objectives</h4> -<p>To be complete</p> -<h4>Results</h4> -To be complete - -</table> -</body> -</html> - diff --git a/cmake_targets/autotests/templates/testcase_report.html b/cmake_targets/autotests/templates/testcase_report.html deleted file mode 100755 index 007ab56909b9827dab6991427e25babe01f17c15..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/templates/testcase_report.html +++ /dev/null @@ -1,142 +0,0 @@ -<!DOCTYPE html> -<html> -<head> - <meta charset="utf-8"/> - <title>OAI5G UE test case report</title> - <script type="text/javascript"> - function showhide(id) { - var e = document.getElementById(id); - e.style.display = (e.style.display == 'block') ? 'none' : 'block'; - } -</script> -</head> -<style> -table, th, td { - border: 1px solid black; - border-collapse: collapse; - padding: 5px; -} -</style> -<body> -<center> -<h2>OAI5G UE test case report details</h2> -</center> - -<h3>Test Case description</h3> -<p> - <table border> - - <tr><td>ID</td><td>{{testcase_name}}</td></tr> - <tr><td>TAG</td><td>{{tags}}</td></tr> - <tr><td>class</td><td>{{testcaseclass}}</td></tr> - <tr><td>description</td><td></td></tr> - <tr><td>timeout</td><td>{{testcase_timeout}}</td></tr> - <tr><td>number of runs</td><td>{{nruns}}</td></tr> - <tr><td>eNB machine</td><td>{{testcase_eNBMachine}}</td></tr> - <tr><td>UE machine</td><td>{{testcase_UEMachine}}</td></tr> - - </table> -</p> - - -<h3>Test Case execution</h3> -<p> - <table border> - - <tr><td>testcase_time_start</td><td>{{testcase_time_start}}</td></tr> - <tr><td>testcase_time_stop</td><td>{{testcase_time_stop}}</td></tr> - <tr><td>testcase_duration</td><td>{{testcase_duration}}</td></tr> - <tr><td>Nb runs</td><td>{{nruns}}</td></tr> - <tr><td>Nb PASS</td><td>{{nb_run_pass}}</td></tr> - <tr><td>Nb FAILED</td><td>{{nb_run_failed}}</td></tr> - <tr><td>Nb INCONCLUSIVE</td><td>{{nb_run_inc}}</td></tr> - <tr> - <td>testcase_verdict</td> - {% if testcase_verdict == "PASS" %} - <TD align="center" style="background-color:green">{{testcase_verdict}}</TD> - {% elif testcase_verdict == "FAIL" %} - <TD align="center" style="background-color:red">{{testcase_verdict}}</TD> - {% else %} - <TD align="center" style="background-color:orange">{{testcase_verdict}}</TD> - {% endif %} - </tr> - <tr><td>Nb Seg Fault</td><td>{{nb_seg_fault}}</td></tr> - - </table> -</p> - - - -<h3>Test Case runs results</h3> - -{% for run_results in runs_results|sort(attribute='run_id') %} -<h4>RUN {{run_results.run_id}} </h4> - <table border> - <tr><td>run_start_time </td><td>{{run_results.run_start_time}}</td></tr> - <tr><td>run_stop_time</td><td>{{run_results.run_stop_time}}</td></tr> - <tr><td>run_duration</td><td>{{run_results.run_duration}}</td></tr> - <tr> - <td>run_verdict</td> - {% if run_results.run_verdict == "PASS" %} - <TD align="center" style="background-color:green">{{run_results.run_verdict}}</TD> - {% elif run_results.run_verdict == "FAIL" %} - <TD align="center" style="background-color:red">{{run_results.run_verdict}}</TD> - {% else %} - <TD align="center" style="background-color:orange">{{run_results.run_verdict}}</TD> - {% endif %} - </tr> - <tr><td>Seg Fault Satus</td> - {% if run_results.ue_seg_fault_status == "NO_SEG_FAULT" %} - <TD align="center" style="background-color:green">{{run_results.ue_seg_fault_status}}</TD> - {% elif run_results.ue_seg_fault_status == "SEG_FAULT" %} - <TD align="center" style="background-color:red">{{run_results.ue_seg_fault_status}}</TD> - {% else %} - <TD align="center" style="background-color:orange">unknown</TD> - {% endif %} - </tr> - </table> - - {% for run_metrics in run_results.runs_metrics %} - <br></br> - <table border> - <tr><td>metric_id</td><td>{{run_metrics.metric_id}}</td></tr> - <tr><td>Description</td><td>{{run_metrics.metric_desc}}</td></tr> - <tr><td>Unit of measure</td><td>{{run_metrics.metric_uom}}</td></tr> - <tr><td>metric_min</td><td>{{run_metrics.metric_min}}</td></tr> - <tr><td>metric_max</td><td>{{run_metrics.metric_max}}</td></tr> - <tr><td>metric_mean</td><td>{{run_metrics.metric_mean}}</td></tr> - <tr><td>metric_median</td><td>{{run_metrics.metric_median}}</td></tr> - <tr><td colspan="2"></td></tr> - {% if run_metrics.pass_fail_stat is defined %} - <tr><td>Pass/fail stat</td><td>{{run_metrics.pass_fail_stat}}</td></tr> - {% endif %} - {% if run_metrics.pass_fail_min_limit is defined %} - <tr><td>Pass/fail min limit</td><td>{{run_metrics.pass_fail_min_limit}}</td></tr> - {% endif %} - {% if run_metrics.pass_fail_max_limit is defined %} - <tr><td>Pass/fail max limit</td><td>{{run_metrics.pass_fail_max_limit}}</td></tr> - {% endif %} - <tr><td colspan="2"></td></tr> - <tr><td>metric_fig</td><td><IMG src={{run_metrics.metric_fig}}></td></tr> - </table> - - {% endfor %} - - {% if run_results.run_traffic.traffic_count != 0 %} - <br></br> - <table border> - <TR><TH>Iperf metric</TH><TH>min</TH><TH>max</TH><TH>mean</TH><TH>median</TH><TR> - <TR><td>Bandwidth </td><td>{{run_results.run_traffic.bw_min}}</td><td>{{run_results.run_traffic.bw_max}}</td><td>{{run_results.run_traffic.bw_mean}}</td><td>{{run_results.run_traffic.bw_median}}</td><TR> - <TR><td>Jitter</td><td>{{run_results.run_traffic.jitter_min}}</td><td>{{run_results.run_traffic.jitter_max}}</td><td>{{run_results.run_traffic.jitter_mean}}</td><td>{{run_results.run_traffic.jitter_median}}</td><TR> - <TR><td>Loss rate</td><td>{{run_results.run_traffic.rl_min}}</td><td>{{run_results.run_traffic.rl_max}}</td><td>{{run_results.run_traffic.rl_mean}}</td><td>{{run_results.run_traffic.rl_median}}</td><TR> - <TR><td colspan="5"></td></TR> - <TR><td>Iperf duration</td><td>{{run_results.run_traffic.iperf_duration}}</td><td></td><td>Pass/Fail criteria (min duration)</td><td>{{run_results.run_traffic.dur_pass_fail_crit}}</td><TR> - <TR><td colspan="5"></td></TR> - <tr><td>traffic_fig</td><td colspan="4"><IMG src={{run_results.run_traffic.traffic_fig}}></td></tr> - </table> - {% endif %} - -{% endfor %} - -</body> -</html> diff --git a/cmake_targets/autotests/test_case_list.xml b/cmake_targets/autotests/test_case_list.xml index 8158cd4e9ec3b58793d9f48f590e6bfc96754a16..33c6ee0d573145e14883c08eafd76513e9512510 100755 --- a/cmake_targets/autotests/test_case_list.xml +++ b/cmake_targets/autotests/test_case_list.xml @@ -1,958 +1,17 @@ <testCaseList> + <TestCaseExclusionList></TestCaseExclusionList> - -<MachineList>amerique mozart hutch starsky stevens calisson nano superserver </MachineList> - <NFSResultsShare>/mnt/sradio/TEST_RESULTS/</NFSResultsShare> - <GitOAI5GRepo>https://gitlab.eurecom.fr/oai/openairinterface5g.git</GitOAI5GRepo> - <GitOpenair-cnRepo>https://gitlab.eurecom.fr/oai/openair-cn.git</GitOpenair-cnRepo> - <GitOAI5GRepoBranch>develop</GitOAI5GRepoBranch> - <GitOpenair-cnRepoBranch>develop</GitOpenair-cnRepoBranch> - <CleanUpOldProgs>oaisim oaisim_nos1 lte-softmodem lte-softmodem-nos1 mme_gw run_epc auth_request run_hss oai_hss mme spgw hss hss_sim wvdial iperf iperf_script iperf_script_phone ping tshark rrh_gw iperf3 iperf3_script iperf3_script_phone pppd starthss start_ltebox stop_ltebox configure_cots_sony_experia_m4_ue configure_cots_huaweiE398_ue configure_cots_bandrich_ue</CleanUpOldProgs> - <CleanUpAluLteBox>sudo -S -E /opt/ltebox/tools/stop_ltebox</CleanUpAluLteBox> -<ExmimoRfStop>exmimo_pci=`lspci -m | grep Xilinx`; if [ -n "$exmimo_pci" ] ; then $OPENAIR_DIR/cmake_targets/build_oai -w EXMIMO -c; sudo -S -E $OPENAIR_DIR/cmake_targets/tools/stop_exmimo2; fi; sudo -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; sudo -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_huaweiE398_ue.py --reset-ue; sudo -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue; uname -a; sudo -E dmesg</ExmimoRfStop> - <Timeout_execution>36000</Timeout_execution> - <TestCaseExclusionList>010141 0102+ 010301 010303 010304 010305 0104+ 015508 015511 015520 015523 015518 015519 015520 015521 015522 015523 015602 015605 015818 015819 015820 015821 015822 015823 016102 016105 016502 016505 017002 017005 018002 018005 018502 018505 025514 025517 025520 025523 025518 025519 025520 025521 025522 025523</TestCaseExclusionList> - <nruns_lte-softmodem>3</nruns_lte-softmodem> - <MachineListGeneric>nano mozart hutch starsky stevens calisson superserver </MachineListGeneric> - <testCase id="010101" > - <class>compilation</class> - <desc>Build oaisim.Rel8</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--oaisim -r Rel8 -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/oaisim_build_oai/build/oaisim - $OPENAIR_DIR/cmake_targets/at_commands/build/at_nas_ue - $OPENAIR_DIR/cmake_targets/nas_sim_tools/build/usim - $OPENAIR_DIR/cmake_targets/nas_sim_tools/build/nvram</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>oaisim.Rel8</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010102" > - <class>compilation</class> - <desc>Build oaisim.Rel10</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--oaisim -r Rel10 -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/oaisim_build_oai/build/oaisim - $OPENAIR_DIR/cmake_targets/at_commands/build/at_nas_ue - $OPENAIR_DIR/cmake_targets/nas_sim_tools/build/usim - $OPENAIR_DIR/cmake_targets/nas_sim_tools/build/nvram</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>oaisim.Rel10</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010103" > - <class>compilation</class> - <desc>Build oaisim_noS1.Rel10</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--oaisim -r Rel10 --noS1 -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 - $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/rb_tool - $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/CMakeFiles/nasmesh/nasmesh.ko</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>oaisim_noS1.Rel10</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010110" > - <class>compilation</class> - <desc>Build lte_softmodem_noS1.USRP.Rel10</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--eNB -w USRP -r Rel10 --noS1 -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 - $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/rb_tool - $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/CMakeFiles/nasmesh/nasmesh.ko - $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/liboai_usrpdevif.so</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>lte-softmodem_noS1.USRP.Rel10</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010111" > - <class>compilation</class> - <desc>Build lte_softmodem_noS1.EXMIMO.Rel10</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--eNB -w EXMIMO -r Rel10 --noS1 -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 - $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/rb_tool - $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/CMakeFiles/nasmesh/nasmesh.ko - $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/CMakeFiles/openair_rf/openair_rf.ko - $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/updatefw - $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/oarf_config_exmimo.oct</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>lte-softmodem_noS1.EXMIMO.Rel10</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010112" > - <class>compilation</class> - <desc>Build lte_softmodem_noS1.BLADERF.Rel10</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--eNB -w BLADERF -r Rel10 --noS1 -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 - $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/rb_tool - $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/CMakeFiles/nasmesh/nasmesh.ko - $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/liboai_bladerfdevif.so</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>lte-softmodem_noS1.BLADERF.Rel10</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010113" > - <class>compilation</class> - <desc>Build lte_softmodem_noS1.ETHERNET.Rel10</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--eNB -w None -t ETHERNET -r Rel10 --noS1 -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 - $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/rb_tool - $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/CMakeFiles/nasmesh/nasmesh.ko - $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/liboai_eth_transpro.so</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>lte-softmodem_noS1.ETHERNET.Rel10</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010114" > - <class>compilation</class> - <desc>Build lte_softmodem_noS1.LMSSDR.Rel10</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--eNB -w LMSSDR -r Rel10 --noS1 -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 - $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/rb_tool - $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/CMakeFiles/nasmesh/nasmesh.ko - $OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/liboai_lmssdrdevif.so</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>lte-softmodem_noS1.LMSSDR.Rel10</tags> - <nruns>1</nruns> - </testCase> - - - <testCase id="010120" > - <class>compilation</class> - <desc>Build lte_softmodem.USRP.Rel10</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--eNB -w USRP -r Rel10 -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem - $OPENAIR_DIR/cmake_targets/ran_build/build/liboai_usrpdevif.so</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>lte-softmodem.USRP.Rel10</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010121" > - <class>compilation</class> - <desc>Build lte_softmodem.EXMIMO.Rel10</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--eNB -w EXMIMO -r Rel10 -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem - $OPENAIR_DIR/cmake_targets/ran_build/build/CMakeFiles/openair_rf/openair_rf.ko - $OPENAIR_DIR/cmake_targets/ran_build/build/updatefw - $OPENAIR_DIR/cmake_targets/ran_build/build/oarf_config_exmimo.oct</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>lte-softmodem.EXMIMO.Rel10</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010122" > - <class>compilation</class> - <desc>Build lte_softmodem.BLADERF.Rel10</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--eNB -w BLADERF -r Rel10 -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem - $OPENAIR_DIR/cmake_targets/ran_build/build/liboai_bladerfdevif.so</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>lte-softmodem.BLADERF.Rel10</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010123" > - <class>compilation</class> - <desc>Build lte_softmodem.ETHERNET.Rel10</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--eNB -w None -t ETHERNET -r Rel10 -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem - $OPENAIR_DIR/cmake_targets/ran_build/build/liboai_eth_transpro.so</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>lte-softmodem.ETHERNET.Rel10</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010124" > - <class>compilation</class> - <desc>Build lte_softmodem.LMSSDR.Rel10</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--eNB -w LMSSDR -r Rel10 -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem - $OPENAIR_DIR/cmake_targets/ran_build/build/liboai_lmssdrdevif.so</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>lte-softmodem.LMSSDR.Rel10</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010130" > - <class>compilation</class> - <desc>Build phy unitary simulators</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--phy_simulators -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/lte-simulators/build/dlsim - $OPENAIR_DIR/cmake_targets/lte-simulators/build/ulsim - $OPENAIR_DIR/cmake_targets/lte-simulators/build/pucchsim - $OPENAIR_DIR/cmake_targets/lte-simulators/build/prachsim - $OPENAIR_DIR/cmake_targets/lte-simulators/build/pdcchsim - $OPENAIR_DIR/cmake_targets/lte-simulators/build/pbchsim - $OPENAIR_DIR/cmake_targets/lte-simulators/build/mbmssim</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>unitary-sim.Rel10</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010140" > - <class>compilation</class> - <desc>Build RRH Gateway for USRP(RF) + Ethernet (Transport)</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--RRH -w USRP -t ETHERNET -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/rrh_gw/build/rrh_gw - $OPENAIR_DIR/cmake_targets/rrh_gw/build/liboai_usrpdevif.so - $OPENAIR_DIR/cmake_targets/rrh_gw/build/liboai_eth_transpro.so</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>RRH.USRP.Rel10</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010141" > - <class>compilation</class> - <desc>Build RRH Gateway for EXMIMO(RF) + Ethernet (Transport)</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--RRH -w EXMIMO -t ETHNERNET -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/rrh_gw/build/rrh_gw - $OPENAIR_DIR/cmake_targets/rrh_gw/build/CMakeFiles/openair_rf/openair_rf.ko - $OPENAIR_DIR/cmake_targets/rrh_gw/build/updatefw - $OPENAIR_DIR/cmake_targets/rrh_gw/build/oarf_config_exmimo.oct - $OPENAIR_DIR/cmake_targets/rrh_gw/build/liboai_exmimodevif.so - $OPENAIR_DIR/cmake_targets/rrh_gw/build/liboai_eth_transpro.so</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>RRH.EXMIMO.Rel10</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010142" > - <class>compilation</class> - <desc>Build RRH Gateway for BladeRF (RF) nad Ethernet (transport)</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--RRH -w BLADERF -t ETHERNET -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/rrh_gw/build/rrh_gw - $OPENAIR_DIR/cmake_targets/rrh_gw/build/liboai_bladerfdevif.so - $OPENAIR_DIR/cmake_targets/rrh_gw/build/liboai_eth_transpro.so</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>RRH.BLADERF.Rel10</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010143" > - <class>compilation</class> - <desc>Build RRH Gateway for LMSSDR (RF) and Ethernet (transport)</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--RRH -w LMSSDR -t ETHERNET -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/rrh_gw/build/rrh_gw - $OPENAIR_DIR/cmake_targets/rrh_gw/build/liboai_lmssdrdevif.so - $OPENAIR_DIR/cmake_targets/rrh_gw/build/liboai_eth_transpro.so</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>RRH.LMSSDR.Rel10</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010150" > - <class>compilation</class> - <desc>Build RRU (NGFI) for USRP (Rel 10) w/ ETHERNET transport</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--eNB -w USRP -t ETHERNET -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem - $OPENAIR_DIR/cmake_targets/ran_build/build/liboai_usrpdevif.so - $OPENAIR_DIR/cmake_targets/ran_build/build/liboai_eth_transpro.so</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>RRU.USRP.Rel10</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010151" > - <class>compilation</class> - <desc>Build RRU (NGFI) for EXMIMO (Rel 10) w/ ETHERNET transport</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--eNB -w EXMIMO -t ETHERNET -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem - $OPENAIR_DIR/cmake_targets/ran_build/build/CMakeFiles/openair_rf/openair_rf.ko - $OPENAIR_DIR/cmake_targets/ran_build/build/updatefw - $OPENAIR_DIR/cmake_targets/ran_build/build/oarf_config_exmimo.oct - $OPENAIR_DIR/cmake_targets/ran_build/build/liboai_exmimodevif.so - $OPENAIR_DIR/cmake_targets/ran_build/build/liboai_eth_transpro.so</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>RRU.EXMIMO.Rel10</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010152" > - <class>compilation</class> - <desc>Build RRU (NGFI) for BLADERF (Rel 10) w/ ETHERNET transport</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--eNB -w BLADERF -t ETHERNET -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem - $OPENAIR_DIR/cmake_targets/ran_build/build/liboai_bladerfdevif.so - $OPENAIR_DIR/cmake_targets/ran_build/build/liboai_eth_transpro.so</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>RRU.BLADERF.Rel10</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010153" > - <class>compilation</class> - <desc>Build RRU (NGFI) for LMSSDR (Rel 10) w/ ETHERNET transport</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--eNB -w LMSSDR -t ETHERNET -c </compile_prog_args> - <compile_prog_out>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem - $OPENAIR_DIR/cmake_targets/ran_build/build/liboai_lmssdrdevif.so - $OPENAIR_DIR/cmake_targets/ran_build/build/liboai_eth_transpro.so</compile_prog_out> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec></main_exec> - <main_exec_args></main_exec_args> - <search_expr_true></search_expr_true> - <search_expr_false></search_expr_false> - <tags>RRU.LMSSDR.Rel10</tags> - <nruns>1</nruns> - </testCase> - - <testCase id="010200"> - <class>execution</class> - <desc>Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) and search for errors, segmentation fault or exit</desc> - <pre_compile_prog>cp -vf $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.generic.oaisim.local_no_mme.conf $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf </pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--oaisim --noS1 -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec> - <pre_exec_args></pre_exec_args> - <test_config_file></test_config_file> - <main_exec>sudo -E $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1</main_exec> - <main_exec_args> -O $OPENAIR_LOGDIR/enb.band38.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -s15 - -O $OPENAIR_LOGDIR/enb.band38.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -s15 - -O $OPENAIR_LOGDIR/enb.band38.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -s15 - -O $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -s15 - -O $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -s15 - -O $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -s15 </main_exec_args> - <tags>oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2</tags> - <search_expr_true>"Received RRCConnectionReconfigurationComplete from UE 0"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <nruns>3</nruns> - </testCase> - - <testCase id="010201"> - <class>execution</class> - <desc>Run OAISIM Rel10 TDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit</desc> - <pre_compile_prog>cp -vf $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.generic.oaisim.local_no_mme.conf $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf </pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--oaisim --noS1 -c </compile_prog_args> - <test_config_file></test_config_file> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec>sudo -E $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1</main_exec> - <main_exec_args> -O $OPENAIR_LOGDIR/enb.band38.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -a -s15 - -O $OPENAIR_LOGDIR/enb.band38.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -a -s15 - -O $OPENAIR_LOGDIR/enb.band38.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -a -s15 - -O $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -a -s15 - -O $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -a -s15 - -O $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -a -s15 </main_exec_args> - <tags>oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2</tags> - <search_expr_true>"Received RRCConnectionReconfigurationComplete from UE 0"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <nruns>3</nruns> - </testCase> - - <testCase id="010202"> - <class>execution</class> - <desc>Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2) and search for errors, segmentation fault or exit</desc> -<pre_compile_prog>cp -vf $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.generic.oaisim.local_no_mme.conf $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf </pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--oaisim --noS1 -c </compile_prog_args> - <test_config_file></test_config_file> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec>sudo -E $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1</main_exec> - <main_exec_args> -O $OPENAIR_LOGDIR/enb.band38.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -s15 - -O $OPENAIR_LOGDIR/enb.band38.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -s15 - -O $OPENAIR_LOGDIR/enb.band38.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -s15 - -O $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -s15 - -O $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -s15 - -O $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -s15 </main_exec_args> - <tags>oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2 </tags> - <search_expr_true>"Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <nruns>3</nruns> - </testCase> - - <testCase id="010203"> - <class>execution</class> - <desc>Run OAISIM Rel10 TDD, 1 eNB + 3 UEs (5 MHz) in PHY_ABSTRACTION mode and search for errors, segmentation fault or exit</desc> - <pre_compile_prog>cp -vf $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.generic.oaisim.local_no_mme.conf $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf </pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--oaisim --noS1 -c </compile_prog_args> - <test_config_file></test_config_file> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec>sudo -E $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1</main_exec> - <main_exec_args> -O $OPENAIR_LOGDIR/enb.band38.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -a -s15 - -O $OPENAIR_LOGDIR/enb.band38.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -a -s15 - -O $OPENAIR_LOGDIR/enb.band38.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -a -s15 - -O $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -a -s15 - -O $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -a -s15 - -O $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -a -s15</main_exec_args> - <tags>oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_nos1.tdd.20MHz.TM2</tags> - <search_expr_true>"Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <nruns>3</nruns> - </testCase> - - <testCase id="010204"> - <class>execution</class> - <desc>Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) without abstraction mode, send ping from from eNB to UE, and check that there is no packet losses</desc> - <pre_compile_prog>cp -vf $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.generic.oaisim.local_no_mme.conf $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf </pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--oaisim --noS1 -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec> - <pre_exec_args></pre_exec_args> - <test_config_file></test_config_file> - <main_exec>sudo -E $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1</main_exec> - <main_exec_args> -O $OPENAIR_LOGDIR/enb.band38.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -c26 - -O $OPENAIR_LOGDIR/enb.band38.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -c26 - -O $OPENAIR_LOGDIR/enb.band38.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -c26 - -O $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -c26 - -O $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -c26 - -O $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -c26</main_exec_args> - <tags>oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2 </tags> - <search_expr_true>"DL and UL loss rate below 10"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <nruns>3</nruns> - </testCase> - - <testCase id="010205"> - <class>execution</class> - <desc>Run OAI Rel10 TDD, 1 eNB + 1 UE (5 MHz) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check that there is no packet losses</desc> - <pre_compile_prog>cp -vf $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band38.generic.oaisim.local_no_mme.conf $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf </pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--oaisim --noS1 -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec> - <pre_exec_args></pre_exec_args> - <test_config_file></test_config_file> - <main_exec>sudo -E $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1</main_exec> - <main_exec_args> -O $OPENAIR_LOGDIR/enb.band38.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -c26 -a - -O $OPENAIR_LOGDIR/enb.band38.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -c26 -a - -O $OPENAIR_LOGDIR/enb.band38.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -c26 -a - -O $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -c26 -a - -O $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -c26 -a - -O $OPENAIR_LOGDIR/enb.band38.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -c26 -a</main_exec_args> - <tags>oaisim_noS1.tdd.5MHz.TM1 oaisim_noS1.tdd.10MHz.TM1 oaisim_noS1.tdd.20MHz.TM1 oaisim_noS1.tdd.5MHz.TM2 oaisim_noS1.tdd.10MHz.TM2 oaisim_noS1.tdd.20MHz.TM2 </tags> - <search_expr_true>"DL and UL loss rate below 10"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <nruns>3</nruns> - </testCase> - - <testCase id="010300"> - <class>execution</class> - <desc>Run OAISIM Rel10 FDD, 1 eNB + 1 UE 1 eNB (5 MHz/10MHz/20MHz), (TM 1,2) and search for errors, segmentation fault or exit</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--oaisim --noS1 -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec>sudo -E $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1</main_exec> - <main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -F -s15 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -F -s15 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -F -s15 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -F -s15 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -F -s15 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -F -s15</main_exec_args> - <tags>oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2</tags> - <search_expr_true>"Received RRCConnectionReconfigurationComplete from UE 0"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <nruns>3</nruns> - </testCase> - - <testCase id="010301"> - <class>execution</class> - <desc>Run OAISIM Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) in PHY_ABSTRACTION mode and search for errors</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--oaisim --noS1 -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec>sudo -E $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1</main_exec> - <main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -F -a -s15 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -F -a -s15 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -F -a -s15 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -F -a -s15 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -F -a -s15 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -F -a -s15</main_exec_args> - <tags>oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2</tags> - <search_expr_true>"Received RRCConnectionReconfigurationComplete from UE 0"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <nruns>3</nruns> - </testCase> - - <testCase id="010302"> - <class>execution</class> - <desc> Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2) and search for errors, segmentation fault or exit</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--oaisim --noS1 -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec>sudo -E $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1</main_exec> - <main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -F -s15 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -F -s15 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -F -s15 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -F -s15 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -F -s15 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -F -s15</main_exec_args> - <tags>oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2 </tags> - <search_expr_true>"Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <nruns>3</nruns> - </testCase> - - <testCase id="010303"> - <class>execution</class> - <desc>Run OAISIM Rel10 FDD, 1 eNB + 3 UEs (5 MHz/10MHz/20MHz), (TM 1,2) in PHY_ABSTRACTION mode and search for errors</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--oaisim --noS1 -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec>sudo -E $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1</main_exec> - <main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -F -a -s15 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -F -a -s15 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -F -a -s15 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 25 -F -a -s15 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 50 -F -a -s15 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u3 -n100 -R 100 -F -a -s15</main_exec_args> - <tags>oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2</tags> - <search_expr_true>"Received RRCConnectionReconfigurationComplete from UE 0" "Received RRCConnectionReconfigurationComplete from UE 1" "Received RRCConnectionReconfigurationComplete from UE 2"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <nruns>3</nruns> - </testCase> - - <testCase id="010304"> - <class>execution</class> - <desc>Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) without PHY_ABSTRACTION mode, ping from from eNB to UE, and for check for no packet losses</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--oaisim --noS1 -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec>sudo -E $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1</main_exec> - <main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -F -c26 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -F -c26 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -F -c26 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -F -c26 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -F -c26 - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -F -c26</main_exec_args> - <tags>oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2</tags> - <search_expr_true>"DL and UL loss rate below 10"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <nruns>3</nruns> - </testCase> - - <testCase id="010305"> - <class>execution</class> - <desc>Run OAI Rel10 FDD, 1 eNB + 1 UE (5 MHz/10MHz/20MHz), (TM 1,2) in PHY_ABSTRACTION mode, send ping from from eNB to UE, and check for no packet losses</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--oaisim --noS1 -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec>sudo -E $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1</main_exec> - <main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -F -c26 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -F -c26 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -F -c26 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 25 -F -c26 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 50 -F -c26 -a - -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -A AWGN -b1 -u1 -n100 -R 100 -F -c26 -a</main_exec_args> - <tags>oaisim_noS1.FDD.5MHz.TM1 oaisim_noS1.FDD.10MHz.TM1 oaisim_noS1.FDD.20MHz.TM1 oaisim_noS1.FDD.5MHz.TM2 oaisim_noS1.FDD.10MHz.TM2 oaisim_noS1.FDD.20MHz.TM2 </tags> - <search_expr_true>"DL and UL loss rate below 10"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <nruns>3</nruns> - </testCase> - - <testCase id="010400"> - <class>execution</class> - <desc>Check if eMBMS procedure is not finished completely, make sure that the SIB13/MCCH have been correclty received by UEs</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--oaisim --noS1 -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec>sudo -E $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1</main_exec> - <main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -l7 -Q3 -n 100 -b1 -u1</main_exec_args> - <search_expr_true>"Found MBSFNAreaConfiguration from eNB 0"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <tags>oaisim_noS1.eMBMS</tags> - <nruns>3</nruns> - </testCase> - - <testCase id="010401"> - <class>execution</class> - <desc>Check if eMBMS multicast/broadcast data is received, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--oaisim --noS1 -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec>sudo -E $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1</main_exec> - <main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -l7 -T mscbr -Q3 -n 100 -b1 -u1</main_exec_args> - <search_expr_true>"Received a multicast packet"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <tags>oaisim_noS1.eMBMS</tags> - <nruns>3</nruns> - </testCase> - - <testCase id="010402"> - <class>execution</class> - <desc>Check for eMBMS multicast/broadcast data received in fdd mode, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--oaisim --noS1 -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec>sudo -E $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1</main_exec> - <main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -l7 -F -T mscbr -Q3 -n 100 -b1 -u1</main_exec_args> - <search_expr_true>"Received a multicast packet"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <tags>oaisim_noS1.eMBMS</tags> - <nruns>3</nruns> - </testCase> - - <testCase id="010403"> - <class>execution</class> - <desc>Check for eMBMS multicast/broadcast DF relaying working properly in fdd mode, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args>--oaisim --noS1 -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec>sudo -E $OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1</main_exec> - <main_exec_args> -O $OPENAIR_TARGETS/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_no_mme.conf -A AWGN -l7 -c43 -F -T mbvbr -Q4 -j1 -n120</main_exec_args> - <search_expr_true>"MTCH for sync area 1"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <tags>oaisim_noS1.eMBMS</tags> - <nruns>3</nruns> - </testCase> - - <testCase id="015000"> - <class>execution</class> - <desc>test_aes128_cmac_encrypt</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --core_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_aes128_cmac_encrypt</main_exec> - <main_exec_args> --verbose</main_exec_args> - <search_expr_true>"finished with 0 errors"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <tags>test_aes128_cmac_encrypt</tags> - <nruns>3</nruns> - </testCase> - - <testCase id="015001"> - <class>execution</class> - <desc>test_aes128_ctr_decrypt</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --core_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_aes128_ctr_decrypt</main_exec> - <main_exec_args> --verbose</main_exec_args> - <search_expr_true>"finished with 0 errors"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <tags>test_aes128_ctr_decrypt</tags> - <nruns>3</nruns> - </testCase> - - <testCase id="015002"> - <class>execution</class> - <desc>test_aes128_ctr_encrypt</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --core_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_aes128_ctr_encrypt</main_exec> - <main_exec_args> --verbose</main_exec_args> - <search_expr_true>"finished with 0 errors"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <tags>test_aes128_ctr_encrypt</tags> - <nruns>3</nruns> - </testCase> - - <testCase id="015003"> - <class>execution</class> - <desc>test_secu_kenb</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --core_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_kenb</main_exec> - <main_exec_args> --verbose</main_exec_args> - <search_expr_true>"finished with 0 errors"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <tags>test_secu_kenb</tags> - <nruns>3</nruns> - </testCase> - - <testCase id="015004"> - <class>execution</class> - <desc>test_secu_knas</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --core_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_knas</main_exec> - <main_exec_args> --verbose</main_exec_args> - <search_expr_true>"finished with 0 errors"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <tags>test_secu_knas</tags> - <nruns>3</nruns> - </testCase> - - <testCase id="015005"> - <class>execution</class> - <desc>test_secu_knas_encrypt_eea1</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --core_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_knas_encrypt_eea1</main_exec> - <main_exec_args> --verbose</main_exec_args> - <search_expr_true>"finished with 0 errors"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <tags>test_secu_knas_encrypt_eea1</tags> - <nruns>3</nruns> - </testCase> - - <testCase id="015006"> - <class>execution</class> - <desc>test_secu_knas_encrypt_eea2</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --core_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_knas_encrypt_eea2</main_exec> - <main_exec_args> --verbose</main_exec_args> - <search_expr_true>"finished with 0 errors"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <tags>test_secu_knas_encrypt_eea2</tags> - <nruns>3</nruns> - </testCase> - - <testCase id="015007"> - <class>execution</class> - <desc>test_secu_knas_encrypt_eia1</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --core_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_knas_encrypt_eia1</main_exec> - <main_exec_args> --verbose</main_exec_args> - <search_expr_true>"finished with 0 errors"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <tags>test_secu_knas_encrypt_eia1</tags> - <nruns>3</nruns> - </testCase> - - <testCase id="015008"> - <class>execution</class> - <desc>test_secu_knas_encrypt_eia2</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --core_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_secu_knas_encrypt_eia1</main_exec> - <main_exec_args> --verbose</main_exec_args> - <search_expr_true>"finished with 0 errors"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <tags>test_secu_knas_encrypt_eia2</tags> - <nruns>3</nruns> - </testCase> - - <testCase id="015009"> - <class>execution</class> - <desc>test_kdf</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --core_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/cmake_targets/lte-simulators/build/test_kdf</main_exec> - <main_exec_args> --verbose</main_exec_args> - <search_expr_true>"finished with 0 errors"</search_expr_true> - <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> - <tags>test_kdf</tags> - <nruns>3</nruns> - </testCase> - - <testCase id="015100"> - <class>execution</class> + <testCase id="dlsim.basic"> <desc>dlsim Test cases. (Test 1: 10 MHz, R2.FDD (MCS 5), EVA5, -1dB), - (Test 5: 1.4 MHz, R4.FDD (MCS 4), EVA5, 0dB (70%)), - (Test 6: 10 MHz, R3.FDD (MCS 15), EVA5, 6.7dB (70%)), - (Test 6b: 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (70%)), - (Test 7: 10 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (30%)), - (Test 7b: 5 MHz, R3-1.FDD (MCS 15), ETU70, 1.4 dB (30%)), - (Test 10: 5 MHz, R6.FDD (MCS 25), EVA5, 17.4 dB (70%)), - (Test 10b: 5 MHz, R6-1.FDD (MCS 24,18 PRB), EVA5, 17.5dB (70%)), - (Test 11: 10 MHz, R7.FDD (MCS 25), EVA5, 17.7dB (70%)), - (Test 15: 20 MHz, R.9 FDD (MCS 26), EVA5, 17.6dB (70%)), - (Test 15b: 20 MHz, R.9-2 FDD (MCS 26, 17PRB), EVA5, 17.3dB (70%)), - (Test 15c: 20 MHz, R.9-1 FDD (MCS 26, 83 PRB), EVA5, 16.6dB (70%)), - (TM2 Test 1: 10 MHz, R.11 FDD (MCS 14), EVA5, 6.8 dB (70%)), - (TM2 Test 1b: 5 MHz, R.11-2 FDD (MCS 13), EVA5, 5.9 dB (70%))</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --phy_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/targets/bin/dlsim.Rel15</main_exec> + (Test 5: 1.4 MHz, R4.FDD (MCS 4), EVA5, 0dB (70%)), + (Test 6: 10 MHz, R3.FDD (MCS 15), EVA5, 6.7dB (70%)), + (Test 6b: 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (70%)), + (Test 7: 10 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (30%)), + (Test 7b: 5 MHz, R3-1.FDD (MCS 15), ETU70, 1.4 dB (30%)), + (Test 10: 5 MHz, R6.FDD (MCS 25), EVA5, 17.4 dB (70%)), + (Test 10b: 5 MHz, R6-1.FDD (MCS 24,18 PRB), EVA5, 17.5dB (70%)), + (Test 11: 10 MHz, R7.FDD (MCS 25), EVA5, 17.7dB (70%))</desc> + <main_exec>dlsim</main_exec> <main_exec_args> -m=5 -g=F -s=-1 -w=1.0 -f=.2 -n=500 -B=50 -c=2 -z=2 -O=60 -m=4 -g=F -s=0 -w=1.0 -f=.2 -n=500 -B=6 -c=4 -z=2 -O=60 -m=15 -g=F -s=6.7 -w=1.0 -f=.2 -n=500 -B=50 -c=2 -z=2 -O=60 @@ -961,46 +20,52 @@ -m=15 -g=G -s=1.4 -w=1.0 -f=.2 -n=500 -B=25 -c=2 -z=2 -O=25 -m=25 -g=F -s=17.4 -w=1.0 -f=.2 -n=500 -B=25 -c=3 -z=2 -O=60 -m=25 -g=F -s=17.5 -w=1.0 -f=.2 -n=500 -B=25 -c=3 -z=2 -r=1022 -O=60 - -m=26 -g=F -s=17.7 -w=1.0 -f=.2 -n=500 -B=50 -c=2 -z=2 -O=60 - -m=26 -g=F -s=17.6 -w=1.0 -f=.2 -n=500 -B=100 -c=2 -z=2 -O=60 + -m=26 -g=F -s=17.7 -w=1.0 -f=.2 -n=500 -B=50 -c=2 -z=2 -O=60</main_exec_args> + <tags>test1 test5 test6 test6b test7 test7b test10 test10b test11</tags> + <search_expr_true>"passed"</search_expr_true> + <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> + <nruns>3</nruns> + </testCase> + + <testCase id="dlsim.100rb+tm2"> + <desc>dlsim Test cases. (Test 15: 20 MHz, R.9 FDD (MCS 26), EVA5, 17.6dB (70%)), + (Test 15b: 20 MHz, R.9-2 FDD (MCS 26, 17PRB), EVA5, 17.3dB (70%)), + (Test 15c: 20 MHz, R.9-1 FDD (MCS 26, 83 PRB), EVA5, 16.6dB (70%)), + (TM2 Test 1: 10 MHz, R.11 FDD (MCS 14), EVA5, 6.8 dB (70%)), + (TM2 Test 1b: 5 MHz, R.11-2 FDD (MCS 13), EVA5, 5.9 dB (70%))</desc> + <main_exec>dlsim</main_exec> + <main_exec_args> -m=26 -g=F -s=17.6 -w=1.0 -f=.2 -n=500 -B=100 -c=2 -z=2 -O=60 -m=26 -g=F -s=17.3 -w=1.0 -f=.2 -n=500 -B=100 -c=2 -z=2 -r=1600 -O=60 -m=26 -g=F -s=16.6 -w=1.0 -f=.2 -n=500 -B=100 -c=2 -z=2 -r=1899 -O=60 -m=14 -g=F -s=6.8 -w=1.0 -f=.2 -n=500 -B=50 -c=2 -x=2 -y=2 -z=2 -O=60 -m=13 -g=F -s=5.9 -w=1.0 -f=.2 -n=500 -B=25 -c=3 -x=2 -y=2 -z=2 -O=60</main_exec_args> - <tags>dlsim.test1 dlsim.test5 dlsim.test6 dlsim.test6b dlsim.test7 dlsim.test7b dlsim.test10 dlsim.test10b dlsim.test11 dlsim.test11a dlsim.test11b dlsim.test11c dlsim.TM2_test1 dlsim.TM2_test1b</tags> + <tags>test15 test15b test15c TM2_test1 TM2_test1b</tags> <search_expr_true>"passed"</search_expr_true> <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> <nruns>3</nruns> </testCase> - <testCase id="015101"> - <class>execution</class> + <testCase id="ulsim"> <desc>ulsim Test cases. (Test 1: 5 MHz, FDD (MCS 5), AWGN, 6dB), (Test 2: 5 MHz, FDD (MCS 16), AWGN , 12dB (70%)), (Test 3: 10 MHz, R3.FDD (MCS 5), AWGN, 6dB (70%)), (Test 4: 10 MHz, R3-1.FDD (MCS 16), AWGN, 12dB (70%)), (Test 5: 20 MHz, FDD (MCS 5), AWGN, 6dB (70%)), (Test 6: 20 MHz, FDD (MCS 16), AWGN, 12 dB (70%))</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --phy_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/targets/bin/ulsim.Rel15</main_exec> + <main_exec>ulsim</main_exec> <main_exec_args> -BnbRBs=25 -mcs=5 -yN_rx=1 -gchannel=N -xTransmission=1 -snr=6 -wsnrInterrupt=1.0 -e_snr_step=.1 -P -nb_frame=500 -Operf=70 -BnbRBs=25 -mcs=16 -yN_rx=1 -gchannel=N -xTransmission=1 -snr=12 -wsnrInterrupt=1.0 -e_snr_step=.1 -P -nb_frame=500 -Operf=70 -BnbRBs=50 -mcs=5 -yN_rx=1 -gchannel=N -xTransmission=1 -snr=6 -wsnrInterrupt=1.0 -e_snr_step=.1 -P -nb_frame=500 -Operf=70 -BnbRBs=50 -mcs=16 -yN_rx=1 -gchannel=N -xTransmission=1 -snr=12 -wsnrInterrupt=1.0 -e_snr_step=.1 -P -nb_frame=500 -Operf=70 -BnbRBs=100 -mcs=5 -yN_rx=1 -gchannel=N -xTransmission=1 -snr=6 -wsnrInterrupt=1.0 -e_snr_step=.1 -P -nb_frame=500 -Operf=70 -BnbRBs=100 -mcs=16 -yN_rx=1 -gchannel=N -xTransmission=1 -snr=12 -wsnrInterrupt=1.0 -e_snr_step=.1 -P -nb_frame=500 -Operf=70 </main_exec_args> - <tags>ulsim.test1 ulsim.test2 ulsim.test3 ulsim.test4 ulsim.test5 ulsim.test6</tags> + <tags>test1 test2 test3 test4 test5 test6</tags> <search_expr_true>"passed"</search_expr_true> <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> <nruns>3</nruns> </testCase> - <testCase id="015102"> - <class>execution</class> + <testCase id="ldpctest"> <desc>ldpc Test cases. (Test1: block length = 3872), (Test2: block length = 4224), (Test3: block length = 4576), @@ -1011,12 +76,7 @@ (Test8: block length = 7040), (Test9: block length = 7744), (Test10: block length = 8448)</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --phy_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/targets/bin/ldpctest.Rel15</main_exec> + <main_exec>ldpctest</main_exec> <main_exec_args>-l3872 -s10 -n100 -l4224 -s10 -n100 -l4576 -s10 -n100 @@ -1027,195 +87,198 @@ -l7040 -s10 -n100 -l7744 -s10 -n100 -l8448 -s10 -n100</main_exec_args> - <tags>ldpctest.test1 ldpctest.test2 ldpctest.test3 ldpctest.test4 ldpctest.test5 ldpctest.test6 ldpctest.test7 ldpctest.test8 ldpctest.test9 ldpctest.test10</tags> + <tags>test1 test2 test3 test4 test5 test6 test7 test8 test9 test10</tags> <search_expr_true>BLER 0.000000</search_expr_true> <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> <nruns>3</nruns> </testCase> - <testCase id="015103"> - <class>execution</class> + <testCase id="polartest"> <desc>polartest Test cases. (Test1: PBCH polar test), (Test2: DCI polar test), (Test3: UCI polar test,6-bit CRC), (Test4: UCI polar test,11-bit CRC)</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --phy_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/targets/bin/polartest.Rel15</main_exec> + <main_exec>polartest</main_exec> <main_exec_args>-q -s-10 -f0 -q -s-10 -f0 -m1 -q -s-2 -f2 -m2 -k12 -q -s-2 -f2 -m2 -k20</main_exec_args> - <tags>polartest.test1 polartest.test2 polartest.test3 polartest.test4</tags> + <tags>test1 test2 test3 test4</tags> <search_expr_true>BLER= 0.000000</search_expr_true> <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> <nruns>3</nruns> </testCase> - <testCase id="015104"> - <class>execution</class> + <testCase id="nr_pbchsim.106rb"> <desc>nr_pbchsim Test cases. (Test1: PBCH-only, 106 PRB), (Test2: PBCH and synchronization, 106PBR), - (Test3: PBCH-only, 217 PRB), - (Test4: PBCH and synchronization, 217 RPB), - (Test5: PBCH-only, 273 PRB), - (Test6: PBCH and synchronization, 273 PRB), - (Test7: PBCH and synchronization, 106PBR, SSB SC OFFSET 6)</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --phy_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/targets/bin/nr_pbchsim.Rel15</main_exec> + (Test3: PBCH and synchronization, 106PBR, SSB SC OFFSET 6)</desc> + <main_exec>nr_pbchsim</main_exec> <main_exec_args>-s-11 -S-8 -n10 -R106 -s-11 -S-8 -n10 -o8000 -I -R106 - -s-11 -S-8 -n10 -R217 - -s-11 -S-8 -n10 -o8000 -I -R217 - -s-11 -S-8 -n10 -R273 - -s-11 -S-8 -n10 -o8000 -I -R273 -s-11 -S-8 -n10 -R106 -O6</main_exec_args> - <tags>nr_pbchsim.test1 nr_pbchsim.test2 nr_pbchsim.test3 nr_pbchsim.test4 nr_pbchsim.test5 nr_pbchsim.test6 nr_pbchsim.test7</tags> + <tags>test1 test2 test3</tags> <search_expr_true>PBCH test OK</search_expr_true> <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> <nruns>3</nruns> - </testCase> + </testCase> + + <testCase id="nr_pbchsim.217rb"> + <desc>nr_pbchsim Test cases. (Test1: PBCH-only, 217 PRB), + (Test2: PBCH and synchronization, 217 RPB)</desc> + <main_exec>nr_pbchsim</main_exec> + <main_exec_args>-s-11 -S-8 -n10 -R217 + -s-11 -S-8 -n10 -o8000 -I -R217</main_exec_args> + <tags>test1 test2</tags> + <search_expr_true>PBCH test OK</search_expr_true> + <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> + <nruns>3</nruns> + </testCase> + + <testCase id="nr_pbchsim.273rb"> + <desc>nr_pbchsim Test cases. (Test1: PBCH-only, 273 PRB), + (Test2: PBCH and synchronization, 273 PRB)</desc> + <main_exec>nr_pbchsim</main_exec> + <main_exec_args>-s-11 -S-8 -n10 -R273 + -s-11 -S-8 -n10 -o8000 -I -R273</main_exec_args> + <tags>test1 test2</tags> + <search_expr_true>PBCH test OK</search_expr_true> + <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> + <nruns>3</nruns> + </testCase> - <testCase id="015105"> - <class>execution</class> + <testCase id="nr_dlsim.basic"> <desc>nr_dlsim Test cases. (Test1: 106 PRB), (Test2: 217 PRB), (Test3: 273 PRB), - (Test4: 106 PRB 25 PDSCH-Offset), - (Test5: 106 PRB 51 PDSCH-Offset), - (Test6: 217 PRB 100 PDSCH-PRBs), - (Test7: 217 PRB 80 PDSCH-Offset), - (Test8: 217 PRB 100 PDSCH-PRBs 110 PDSCH-Offset), - (Test9: 106 PRBs 50 PDSCH-PRBs MCS Index 27), - (Test10: 106 PRBs 50 PDSCH-PRBs MCS Index 16), - (Test11: 106 MCS-TABLE 256 QAM MCS Index 26), - (Test12: HARQ test 25% TP 4 rounds), - (Test13: HARQ test 33% TP 3 rounds), - (Test14: HARQ test 50% TP 2 rounds), - (Test15: 3 PTRS, 8 Interpolated Symbols), - (Test16: 6 PTRS, 5 Interpolated Symbols), - (Test17: 11 PTRS, 0 Interpolated Symbols), - (Test18: Mapping type A, 2 DMRS Symbols), - (Test19: Mapping type A, 3 DMRS Symbols), - (Test20: Mapping type B, 4 DMRS Symbols), - (Test21: 4x4 MIMO, 1 Layer), - (Test22: 4x4 MIMO, 2 Layers), - (Test23: 25 PRBs, 15 kHz SCS) - (Test24: MCS 0, low SNR performance)</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --phy_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/targets/bin/nr_dlsim.Rel15</main_exec> + (Test4: HARQ test 25% TP 4 rounds), + (Test5: HARQ test 33% TP 3 rounds), + (Test6: HARQ test 50% TP 2 rounds), + (Test7: 25 PRBs, 15 kHz SCS)</desc> + <main_exec>nr_dlsim</main_exec> <main_exec_args>-n100 -R106 -b106 -s5 - -n100 -R217 -b217 -s5 - -n100 -R273 -b273 -s5 - -n100 -R106 -a25 -s5 - -n100 -R106 -a51 -s5 - -n100 -R217 -b100 -s5 - -n100 -R217 -a80 -s5 - -n100 -R217 -a110 -s5 -b100 - -n100 -e27 -s30 - -n100 -e16 -s10 - -n100 -q1 -e26 -s30 - -n100 -s1 -t25 - -n100 -s1 -t33 - -n100 -s1 -t50 - -n100 -s5 -T 2 2 2 - -n100 -s5 -T 2 1 2 - -n100 -s5 -T 2 0 4 - -n100 -s2 -U 2 0 1 - -n100 -s2 -U 2 0 2 - -n100 -s2 -U 2 1 3 - -n10 -s20 -U 3 0 0 2 -gR -x1 -y4 -z4 - -n10 -s20 -U 3 0 0 2 -gR -x2 -y4 -z4 - -n100 -m0 -e0 -R25 -b25 -i 2 1 0 - -n100 -e0 -t95 -S-1.0 -i 2 1 0</main_exec_args> - <tags>nr_dlsim.test1 nr_dlsim.test2 nr_dlsim.test3 nr_dlsim.test4 nr_dlsim.test5 nr_dlsim.test6 nr_dlsim.test7 nr_dlsim.test8 nr_dlsim.test9 nr_dlsim.test10 nr_dlsim.test11 nr_dlsim.test12 nr_dlsim.test13 nr_dlsim.test14 nr_dlsim.test15 nr_dlsim.test16 nr_dlsim.test17 nr_dlsim.test18 nr_dlsim.test19 nr_dlsim.test20 nr_dlsim.test21 nr_dlsim.test22 nr_dlsim.test23 nr_dlsim.test24</tags> + -n100 -R217 -b217 -s5 + -n100 -R273 -b273 -s5 + -n100 -s1 -t25 + -n100 -s1 -t33 + -n100 -s1 -t50 + -n100 -m0 -e0 -R25 -b25 -i 2 1 0</main_exec_args> + <tags>test1 test2 test3 test4 test5 test6 test7</tags> <search_expr_true>PDSCH test OK</search_expr_true> <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> <nruns>3</nruns> - </testCase> - - <testCase id="015106"> - <class>execution</class> + </testCase> + + <testCase id="nr_dlsim.offset"> + <desc>nr_dlsim Test cases. (Test1: 106 PRB 25 PDSCH-Offset), + (Test2: 106 PRB 51 PDSCH-Offset), + (Test3: 217 PRB 100 PDSCH-PRBs), + (Test4: 217 PRB 80 PDSCH-Offset), + (Test5: 217 PRB 100 PDSCH-PRBs 110 PDSCH-Offset)</desc> + <main_exec>nr_dlsim</main_exec> + <main_exec_args>-n100 -R106 -a25 -s5 + -n100 -R106 -a51 -s5 + -n100 -R217 -b100 -s5 + -n100 -R217 -a80 -s5 + -n100 -R217 -a110 -s5 -b100</main_exec_args> + <tags>test1 test2 test3 test4 test5</tags> + <search_expr_true>PDSCH test OK</search_expr_true> + <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> + <nruns>3</nruns> + </testCase> + + <testCase id="nr_dlsim.mcs+mimo"> + <desc>nr_dlsim Test cases. (Test1: 106 PRBs 50 PDSCH-PRBs MCS Index 27), + (Test2: 106 PRBs 50 PDSCH-PRBs MCS Index 16), + (Test3: 106 MCS-TABLE 256 QAM MCS Index 26), + (Test4: MCS 0, low SNR performance), + (Test5: 4x4 MIMO, 1 Layer), + (Test6: 4x4 MIMO, 2 Layers)</desc> + <main_exec>nr_dlsim</main_exec> + <main_exec_args>-n100 -e27 -s30 + -n100 -e16 -s10 + -n100 -q1 -e26 -s30 + -n100 -e0 -t95 -S-1.0 -i 2 1 0 + -n10 -s20 -U 3 0 0 2 -gR -x1 -y4 -z4 + -n10 -s20 -U 3 0 0 2 -gR -x2 -y4 -z4</main_exec_args> + <tags>test1 test2 test3 test4 test5 test6</tags> + <search_expr_true>PDSCH test OK</search_expr_true> + <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> + <nruns>3</nruns> + </testCase> + + <testCase id="nr_dlsim.dmrs+ptrs"> + <desc>nr_dlsim Test cases. (Test1: 3 PTRS, 8 Interpolated Symbols), + (Test2: 6 PTRS, 5 Interpolated Symbols), + (Test3: 11 PTRS, 0 Interpolated Symbols), + (Test4: Mapping type A, 2 DMRS Symbols), + (Test5: Mapping type A, 3 DMRS Symbols), + (Test6: Mapping type B, 4 DMRS Symbols)</desc> + <main_exec>nr_dlsim</main_exec> + <main_exec_args>-n100 -s5 -T 2 2 2 + -n100 -s5 -T 2 1 2 + -n100 -s5 -T 2 0 4 + -n100 -s2 -U 2 0 1 + -n100 -s2 -U 2 0 2 + -n100 -s2 -U 2 1 3</main_exec_args> + <tags>test1 test2 test3 test4 test5 test6</tags> + <search_expr_true>PDSCH test OK</search_expr_true> + <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> + <nruns>3</nruns> + </testCase> + + <testCase id="nr_dlschsim"> <desc>nr_dlschsim Test cases. (Test1: 106 PRB), (Test2: 217 PRB), (Test3: 273 PRB)</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --phy_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/targets/bin/nr_dlschsim.Rel15</main_exec> + <main_exec>nr_dlschsim</main_exec> <main_exec_args>-R 106 -m9 -s13 -n100 -R 217 -m15 -s15 -n100 -R 273 -m19 -s20 -n100</main_exec_args> - <tags>nr_dlschsim.test1 nr_dlschsim.test2 nr_dlschsim.test3</tags> + <tags>test1 test2 test3</tags> <search_expr_true>PDSCH test OK</search_expr_true> <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> <nruns>3</nruns> </testCase> - <testCase id="015107"> - <class>execution</class> + <testCase id="smallblocktest"> <desc>shortblocktest Test cases. (Test1: 3 bits), - (Test2: 6 bits), - (Test3: 7 bits), - (Test4: 11 bits)</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --phy_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/targets/bin/smallblocktest.Rel15</main_exec> + (Test2: 6 bits), + (Test3: 7 bits), + (Test4: 11 bits)</desc> + <main_exec>smallblocktest</main_exec> <main_exec_args>-l 3 -s -4 -d 1 -i 10000 -l 6 -s -4 -d 1 -i 10000 -l 7 -s -4 -d 1 -i 10000 -l 11 -s -4 -d 1 -i 10000</main_exec_args> - <tags>smallblocktest.test1 smallblocktest.test2 smallblocktest.test3 smallblocktest.test4</tags> + <tags>test1 test2 test3 test4</tags> <search_expr_true>BLER= 0.000000</search_expr_true> <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> <nruns>3</nruns> </testCase> - <testCase id="015108"> - <class>execution</class> + <testCase id="nr_ulschsim"> <desc>nr_ulschsim Test cases. (Test1: 106 PRBs), (Test2: 217 PRBs), (Test3: 273 PRBs) (Test4: 106 PRBs 4-layer MIMO)</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --phy_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/targets/bin/nr_ulschsim.Rel15</main_exec> + <main_exec>nr_ulschsim</main_exec> <main_exec_args>-R 106 -m9 -s13 -n100 -R 217 -m15 -s15 -n100 -R 273 -m19 -s20 -n100 -R 106 -m9 -s13 -n100 -y4 -z4 -W4</main_exec_args> - <tags>nr_ulschsim.test1 nr_ulschsim.test2 nr_ulschsim.test3 nr_ulschsim.test4</tags> + <tags>test1 test2 test3 test4</tags> <search_expr_true>PUSCH test OK</search_expr_true> <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> <nruns>3</nruns> </testCase> - <testCase id="015109"> - <class>execution</class> + <testCase id="nr_pucchsim"> <desc>nr_pucchsim Test cases. (Test1: Format 0 1-bit ACK miss 106 PRB), (Test2: Format 0 2-bit ACK miss 106 PRB), (Test3: Format 0 2-bit ACK miss, 1-bit SR 106 PRB), - (Test4: Format 2 3-bit 2/106 PRB), + (Test4: Format 2 3-bit 2/106 PRB), (Test5: Format 2 4-bit 2/106 PRB), (Test6: Format 2 5-bit 2/106 PRB), (Test7: Format 2 6-bit 2/106 PRB), @@ -1229,55 +292,44 @@ (Test15: Format 2 32-bit 8/106 PRB), (Test16: Format 2 32-bit 16/106 PRB), (Test17: Format 2 64-bit 16/106 PRB)</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --phy_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/targets/bin/nr_pucchsim.Rel15</main_exec> + <main_exec>nr_pucchsim</main_exec> <main_exec_args>-R 106 -i 1 -P 0 -b 1 -s-2 -n1000 -R 106 -i 1 -P 0 -b 2 -s-2 -n1000 - -R 106 -i 1 -P 0 -b 2 -s-2 -c -n1000 + -R 106 -i 1 -P 0 -b 2 -s-2 -c -n1000 -R 106 -i 1 -P 2 -b 3 -s0 -n1000 - -R 106 -i 1 -P 2 -b 4 -s0 -n1000 - -R 106 -i 1 -P 2 -b 5 -s1 -n1000 - -R 106 -i 1 -P 2 -b 6 -s2 -n1000 - -R 106 -i 1 -P 2 -b 7 -s3 -n1000 - -R 106 -i 1 -P 2 -b 8 -s4 -n1000 - -R 106 -i 1 -P 2 -b 9 -s5 -n1000 - -R 106 -i 1 -P 2 -b 10 -s6 -n1000 - -R 106 -i 1 -P 2 -b 11 -s6 -n1000 - -R 106 -i 1 -P 2 -q8 -b 12 -s-3 -n1000 - -R 106 -i 1 -P 2 -q8 -b 19 -s-3 -n1000 - -R 106 -i 1 -P 2 -q8 -b 32 -s-3 -n1000 - -R 106 -i 1 -P 2 -q16 -b 32 -s-3 -n1000 - -R 106 -i 1 -P 2 -q16 -b 64 -s-3 -n1000</main_exec_args> - <tags>nr_pucchsim.test1 nr_pucchsim.test2 nr_pucchsim.test3 nr_pucchsim.test4 nr_pucchsim.test5 nr_pucchsim.test6 nr_pucchsim.test7 nr_pucchsim.test8 nr_pucchsim.test9 nr_pucchsim.test10 nr_pucchsim.test11 nr_pucchsim.test12 nr_pucchsim.test13 nr_pucchsim.test14 nr_pucchsim.test15 nr_pucchsim.test16 nr_pucchsim.test17</tags> + -R 106 -i 1 -P 2 -b 4 -s0 -n1000 + -R 106 -i 1 -P 2 -b 5 -s1 -n1000 + -R 106 -i 1 -P 2 -b 6 -s2 -n1000 + -R 106 -i 1 -P 2 -b 7 -s3 -n1000 + -R 106 -i 1 -P 2 -b 8 -s4 -n1000 + -R 106 -i 1 -P 2 -b 9 -s5 -n1000 + -R 106 -i 1 -P 2 -b 10 -s6 -n1000 + -R 106 -i 1 -P 2 -b 11 -s6 -n1000 + -R 106 -i 1 -P 2 -q8 -b 12 -s-3 -n1000 + -R 106 -i 1 -P 2 -q8 -b 19 -s-3 -n1000 + -R 106 -i 1 -P 2 -q8 -b 32 -s-3 -n1000 + -R 106 -i 1 -P 2 -q16 -b 32 -s-3 -n1000 + -R 106 -i 1 -P 2 -q16 -b 64 -s-3 -n1000</main_exec_args> + <tags>test1 test2 test3 test4 test5 test6 test7 test8 test9 test10 test11 test12 test13 test14 test15 test16 test17</tags> <search_expr_true>PUCCH test OK</search_expr_true> <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> <nruns>3</nruns> </testCase> - <testCase id="015110"> - <class>execution</class> + <testCase id="dlsim_tm4"> <desc>dlsim_tm4 test cases (Test 1: 10 MHz, R2.FDD (MCS 5), EVA5, -1dB), - (Test 5: 1.4 MHz, R4.FDD (MCS 4), EVA5, 0dB (70%)), - (Test 6, 10 MHz, R3.FDD (MCS 15), EVA5, 6.7dB (70%)), - (Test 6b, 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (70%)), - (Test 7, 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (30%)), - (Test 7b, 5 MHz, R3-1.FDD (MCS 15), ETU70, 1.4 dB (30%)), - (Test 10, 5 MHz, R6.FDD (MCS 25), EVA5, 17.4 dB (70%)), - (Test 10b, 5 MHz, R6-1.FDD (MCS 24,18 PRB), EVA5, 17.5dB (70%)), - (Test 11, 10 MHz, R7.FDD (MCS 25), EVA5, 17.7dB (70%)) - (TM2 Test 1 10 MHz, R.11 FDD (MCS 14), EVA5, 6.8 dB (70%)), - (TM2 Test 1b 20 MHz, R.11-2 FDD (MCS 13), EVA5, 5.9 dB (70%)), + (Test 5: 1.4 MHz, R4.FDD (MCS 4), EVA5, 0dB (70%)), + (Test 6, 10 MHz, R3.FDD (MCS 15), EVA5, 6.7dB (70%)), + (Test 6b, 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (70%)), + (Test 7, 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (30%)), + (Test 7b, 5 MHz, R3-1.FDD (MCS 15), ETU70, 1.4 dB (30%)), + (Test 10, 5 MHz, R6.FDD (MCS 25), EVA5, 17.4 dB (70%)), + (Test 10b, 5 MHz, R6-1.FDD (MCS 24,18 PRB), EVA5, 17.5dB (70%)), + (Test 11, 10 MHz, R7.FDD (MCS 25), EVA5, 17.7dB (70%)) + (TM2 Test 1 10 MHz, R.11 FDD (MCS 14), EVA5, 6.8 dB (70%)), + (TM2 Test 1b 20 MHz, R.11-2 FDD (MCS 13), EVA5, 5.9 dB (70%)), </desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --phy_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> <main_exec> $OPENAIR_DIR/cmake_targets/lte-simulators/build/dlsim_tm4</main_exec> <main_exec_args>-m5 -gF -s-1 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -m4 -gF -s0 -w1.0 -f.2 -n500 -B6 -c4 -z2 -O70 @@ -1290,14 +342,13 @@ -m26 -gF -s17.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -m14 -gF -s6.8 -w1.0 -f.2 -n500 -B50 -c2 -x2 -y2 -z2 -O70 -m13 -gF -s5.9 -w1.0 -f.2 -n500 -B25 -c3 -x2 -y2 -z2 -O70</main_exec_args> - <tags>dlsim_tm4.test1 dlsim_tm4.test5 dlsim_tm4.test6 dlsim_tm4.test6b dlsim_tm4.test7 dlsim_tm4.test7b dlsim_tm4.test10 dlsim_tm4.test10b dlsim_tm4.test11 dlsim_tm4.TM2_test1 dlsim_tm4.TM2_test1b</tags> + <tags>test1 test5 test6 test6b test7 test7b test10 test10b test11 TM2_test1 TM2_test1b</tags> <search_expr_true>"passed"</search_expr_true> <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> <nruns>3</nruns> </testCase> - <testCase id="015111"> - <class>execution</class> + <testCase id="nr_ulsim.misc"> <desc>nr_ulsim Test cases. (Test1: MCS 9 106 PRBs), (Test2: MCS 16 50 PRBs), (Test3: MCS 28 50 PRBs), @@ -1307,25 +358,9 @@ (Test7: DMRS Type A, 3 DMRS, 4 PTRS, 5 Interpolated Symbols), (Test8: DMRS Type B, 3 DMRS, 2 PTRS, 7 Interpolated Symbols), (Test9: DMRS Type B, 3 DMRS, 2 PTRS, 3 Interpolated Symbols), - (Test10: SC-FDMA, 50 PRBs), - (Test11: SC-FDMA, 75 PRBs), - (Test12: SC-FDMA, 216 PRBs), - (Test13: SC-FDMA, 273 PRBs), - (Test14: SC-FDMA, 3 DMRS), - (Test15: MCS 19 50 PRBs 2 RX_Antenna), - (Test16: MCS 9 106 PRBs MIMO 2 layers), - (Test17: MCS 9 106 PRBs MIMO 4 layers), - (Test18: 25 PRBs, 15 kHz SCS), - (Test19: 3GPP G-FR1-A4-13 2 RX Antennas Requirements Test), - (Test20: 3GPP G-FR1-A4-13 4 RX Antennas Requirements Test), - (Test21: 3GPP G-FR1-A4-13 8 RX Antennas Requirements Test), - (Test22: MCS 0, low SNR performance)</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --phy_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/targets/bin/nr_ulsim.Rel15</main_exec> + (Test10: 25 PRBs, 15 kHz SCS), + (Test11: MCS 0, low SNR performance)</desc> + <main_exec>nr_ulsim</main_exec> <main_exec_args>-n100 -m9 -r106 -s5 -n100 -m16 -s10 -n100 -m28 -s20 @@ -1335,27 +370,61 @@ -n100 -s5 -T 2 1 2 -U 4 0 2 1 1 -n100 -s5 -T 2 2 2 -U 4 1 2 1 1 -n100 -s5 -a4 -b8 -T 2 1 2 -U 4 1 3 1 1 - -n100 -s5 -Z + -n100 -u0 -m0 -R25 -r25 -i 2 1 0 + -n100 -m0 -S -0.6 -i 2 1 0</main_exec_args> + <tags>test1 test2 test3 test4 test5 test6 test7 test8 test9 test10 test11</tags> + <search_expr_true>PUSCH test OK</search_expr_true> + <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> + <nruns>3</nruns> + </testCase> + + <testCase id="nr_ulsim.sc-fdma"> + <desc>nr_ulsim Test cases. (Test1: SC-FDMA, 50 PRBs), + (Test2: SC-FDMA, 75 PRBs), + (Test3: SC-FDMA, 216 PRBs), + (Test4: SC-FDMA, 273 PRBs), + (Test5: SC-FDMA, 3 DMRS)</desc> + <main_exec>nr_ulsim</main_exec> + <main_exec_args>-n100 -s5 -Z -n100 -s5 -Z -r75 -n50 -s5 -Z -r216 -R217 -n50 -s5 -Z -r270 -R273 - -n100 -s5 -Z -U 4 0 2 1 2 - -n100 -m19 -s10 -S15 -z2 + -n100 -s5 -Z -U 4 0 2 1 2</main_exec_args> + <tags>test1 test2 test3 test4 test5</tags> + <search_expr_true>PUSCH test OK</search_expr_true> + <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> + <nruns>3</nruns> + </testCase> + + <testCase id="nr_ulsim.mimo"> + <desc>nr_ulsim Test cases. (Test1: MCS 19 50 PRBs 2 RX_Antenna), + (Test2: MCS 9 106 PRBs MIMO 2 layers), + (Test3: MCS 9 106 PRBs MIMO 4 layers)</desc> + <main_exec>nr_ulsim</main_exec> + <main_exec_args>-n100 -m19 -s10 -S15 -z2 -n100 -m9 -r106 -s10 -W2 -y2 -z2 - -n100 -m9 -r106 -s20 -W4 -y4 -z4 - -n100 -u0 -m0 -R25 -r25 -i 2 1 0 - -m16 -r106 -s8.8 -S9.4 -z2 -n200 -U 4 1 1 1 2 -gI -b14 -t70 -I15 -i 2 1 0 + -n100 -m9 -r106 -s20 -W4 -y4 -z4</main_exec_args> + <tags>test1 test2 test3</tags> + <search_expr_true>PUSCH test OK</search_expr_true> + <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> + <nruns>3</nruns> + </testCase> + + <testCase id="nr_ulsim.3gpp"> + <desc>nr_ulsim Test cases. (Test1: 3GPP G-FR1-A4-13 2 RX Antennas Requirements Test), + (Test2: 3GPP G-FR1-A4-13 4 RX Antennas Requirements Test), + (Test3: 3GPP G-FR1-A4-13 8 RX Antennas Requirements Test)</desc> + <main_exec>nr_ulsim</main_exec> + <main_exec_args>-m16 -r106 -s8.8 -S9.4 -z2 -n200 -U 4 1 1 1 2 -gI -b14 -t70 -I15 -i 2 1 0 -m16 -r106 -s5.4 -S6 -z4 -n200 -U 4 1 1 1 2 -gI -b14 -t70 -I15 -i 2 1 0 - -m16 -r106 -s3.4 -S3.8 -z8 -n200 -U 4 1 1 1 2 -gI -b14 -t70 -I15 -i 2 1 0 - -n100 -m0 -S -0.6 -i 2 1 0</main_exec_args> - <tags>nr_ulsim.test1 nr_ulsim.test2 nr_ulsim.test3 nr_ulsim.test4 nr_ulsim.test5 nr_ulsim.test6 nr_ulsim.test7 nr_ulsim.test8 nr_ulsim.test9 nr_ulsim.test10 nr_ulsim.test11 nr_ulsim.test12 nr_ulsim.test13 nr_ulsim.test14 nr_ulsim.test15 nr_ulsim.test16 nr_ulsim.test17 nr_ulsim.test18 nr_ulsim.test19 nr_ulsim.test20 nr_ulsim.test21 nr_ulsim.test22</tags> + -m16 -r106 -s3.4 -S3.8 -z8 -n200 -U 4 1 1 1 2 -gI -b14 -t70 -I15 -i 2 1 0</main_exec_args> + <tags>test1 test2 test3</tags> <search_expr_true>PUSCH test OK</search_expr_true> <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> <nruns>3</nruns> </testCase> - <testCase id="015112"> - <class>execution</class> + <testCase id="nr_prachsim"> <desc>nr_prachsim Test cases. (Test1: 30kHz SCS, 106 PRBs, Prach format A2), (Test2: 30kHz SCS, 217 PRBs, Prach format A2), (Test3: 30kHz SCS, 273 PRBs, Prach format A2), @@ -1364,12 +433,7 @@ (Test6: 120kHz SCS, 66 PRBs, Prach format A2), (Test7: 120kHz SCS, 66 PRBs, High Speed Enabled), (Test8: 15kHz SCS, 25 PRBs)</desc> - <pre_compile_prog></pre_compile_prog> - <compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</compile_prog> - <compile_prog_args> --phy_simulators -c </compile_prog_args> - <pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</pre_exec> - <pre_exec_args></pre_exec_args> - <main_exec> $OPENAIR_DIR/targets/bin/nr_prachsim.Rel15</main_exec> + <main_exec>nr_prachsim</main_exec> <main_exec_args>-a -s -30 -n 100 -p 63 -R 106 -a -s -30 -n 100 -p 63 -R 217 -a -s -30 -n 100 -p 63 -R 273 @@ -1378,10101 +442,9 @@ -a -s -30 -n 100 -p 32 -R 66 -m 3 -c52 -a -s -30 -n 100 -R 66 -m 3 -c52 -H -a -s -30 -n 100 -p 99 -R 25 -m 0</main_exec_args> - <tags>nr_prachsim.test1 nr_prachsim.test2 nr_prachsim.test3 nr_prachsim.test4 nr_prachsim.test5 nr_prachsim.test6 nr_prachsim.test7 nr_prachsim.test8</tags> + <tags>test1 test2 test3 test4 test5 test6 test7 test8</tags> <search_expr_true>PRACH test OK</search_expr_true> <search_expr_false>segmentation fault|assertion|exiting|fatal</search_expr_false> <nruns>3</nruns> </testCase> - - <testCase id="015500" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 7Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.5MHz.FDD.UDP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - - <testCase id="015501" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 14Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.10MHz.FDD.UDP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015502" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -30 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 14M </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.20MHz.FDD.UDP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015503" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -f m -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b 16M -i 1 -f m -u</EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.5MHz.FDD.UDP.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015504" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -f m -u </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b 33M -i 1 -f m -u </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.10MHz.FDD.UDP.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015505" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -30 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=10.0Mbits/sec average=10.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -u -c 192.172.0.2 -b 33M -i 1 -f m -u </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.20MHz.FDD.UDP.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - - <testCase id="015506" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue;$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 7Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.5MHz.FDD.UDP.Band_7.UL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - - <testCase id="015507" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file>> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue;$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 14Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=2.0Mbits/sec average=2.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.10MHz.FDD.UDP.Band_7.UL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015508" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf pdsch_referenceSignalPower -30 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf -E </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 28Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m</EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=4.0Mbits/sec average=4.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.20MHz.FDD.UDP.Band_7.UL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015509" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -u -c 192.172.0.2 -b 16Mbits/s</EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.5MHz.FDD.UDP.Band_7.DL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015510" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -u -c 192.172.0.2 -b 33Mbits/s -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.10MHz.FDD.UDP.Band_7.DL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015511" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf pdsch_referenceSignalPower -30 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf -E </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -u -c 192.172.0.2 -b 33Mbits/s </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.20MHz.FDD.UDP.Band_7.DL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015512" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -c 192.172.0.1 </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.5MHz.FDD.TCP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - - <testCase id="015513" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -c 192.172.0.1 </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.10MHz.FDD.TCP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015514" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -30 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -c 192.172.0.1 </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.20MHz.FDD.TCP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015515" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.5MHz.FDD.TCP.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015516" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.10MHz.FDD.TCP.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015517" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -30 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.20MHz.FDD.TCP.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - - - - <testCase id="015518" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue;$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -c 192.172.0.1 </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.5MHz.FDD.TCP.Band_7.UL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - - <testCase id="015519" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file>> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue;$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -c 192.172.0.1 </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=2.0Mbits/sec average=2.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.10MHz.FDD.TCP.Band_7.UL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015520" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf pdsch_referenceSignalPower -30 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf -E </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -c 192.172.0.1 </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -f m</EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=4.0Mbits/sec average=4.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.20MHz.FDD.TCP.Band_7.UL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015521" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -u -c 192.172.0.2 </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.5MHz.FDD.TCP.Band_7.DL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015522" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b 33Mbits/s -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.10MHz.FDD.TCP.Band_7.DL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015523" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf pdsch_referenceSignalPower -30 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf -E </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b 33Mbits/s </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.Bandrich.20MHz.FDD.TCP.Band_7.DL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - - - - <testCase id="015600" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>calisson</eNB> - <UE>stevens</UE> - <EPC>calisson</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -26 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.170.0.1\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth5:3\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.170.0.2/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth5:4\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.170.1.2/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -c</eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E ifconfig eth5:3 192.170.0.2 up ; sudo -E ifconfig eth5:4 192.170.1.2 up; ifconfig ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec> $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 7Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>BUILD/EPC/epc.conf.in MCC \"208\" - BUILD/EPC/epc.conf.in MNC \"92\" - BUILD/EPC/epc.conf.in TAC \"1\" - BUILD/EPC/epc.conf.in MME_INTERFACE_NAME_FOR_S1_MME \"eth5:1\" - BUILD/EPC/epc.conf.in MME_IPV4_ADDRESS_FOR_S1_MME \"192.170.0.1/24\" - BUILD/EPC/epc.conf.in SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth5:2\"; - BUILD/EPC/epc.conf.in SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.170.1.1/24\"; - BUILD/EPC/epc.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth5\" - BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" - BUILD/EPC/epc.conf.in IPV4_LIST \"192.172.0.0/24\",\"192.172.1.0/24\"</EPC_config_file> - <EPC_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_epc</EPC_compile_prog> - <EPC_compile_prog_args>-c -l</EPC_compile_prog_args> - <HSS_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_hss</HSS_compile_prog> - <HSS_compile_prog_args> -c -l --debug --random false </HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E ifconfig eth5 add 192.172.0.1</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>$OPENAIRCN_DIR/SCRIPTS/run_epc </EPC_main_exec> - <EPC_main_exec_args> -i -r </EPC_main_exec_args> - <HSS_main_exec>sleep 10; cp $OPENAIRCN_DIR/BUILD/EPC/epc.conf.in $OPENAIRCN_TESTDIR/epc.conf.in; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.OAI_EPC_local.Bandrich.5MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015601" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>calisson</eNB> - <UE>stevens</UE> - <EPC>calisson</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -29 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.170.0.1\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth5:3\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.170.0.2/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth5:4\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.170.1.2/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -c</eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ;sudo -E ifconfig eth5:3 192.170.0.2 up ; sudo -E ifconfig eth5:4 192.170.1.2 up; ifconfig ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec> $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 14Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>BUILD/EPC/epc.conf.in MCC \"208\" - BUILD/EPC/epc.conf.in MNC \"92\" - BUILD/EPC/epc.conf.in TAC \"1\" - BUILD/EPC/epc.conf.in MME_INTERFACE_NAME_FOR_S1_MME \"eth5:1\" - BUILD/EPC/epc.conf.in MME_IPV4_ADDRESS_FOR_S1_MME \"192.170.0.1/24\" - BUILD/EPC/epc.conf.in SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth5:2\"; - BUILD/EPC/epc.conf.in SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.170.1.1/24\"; - BUILD/EPC/epc.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth5\" - BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" - BUILD/EPC/epc.conf.in IPV4_LIST \"192.172.0.0/24\",\"192.172.1.0/24\"</EPC_config_file> - <EPC_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_epc</EPC_compile_prog> - <EPC_compile_prog_args>-c -l</EPC_compile_prog_args> - <HSS_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_hss</HSS_compile_prog> - <HSS_compile_prog_args> -c -l --debug --random false </HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ;sudo -E ifconfig eth5 add 192.172.0.1 ; cp $OPENAIRCN_DIR/BUILD/EPC/epc.conf.in $OPENAIRCN_TESTDIR/epc.conf.in</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>$OPENAIRCN_DIR/SCRIPTS/run_epc </EPC_main_exec> - <EPC_main_exec_args> -i -r </EPC_main_exec_args> - <HSS_main_exec>sleep 10; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.OAI_EPC_local.Bandrich.10MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015602" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>calisson</eNB> - <UE>stevens</UE> - <EPC>calisson</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -29 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.170.0.1\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth5:3\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.170.0.2/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth5:4\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.170.1.2/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -c</eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ;sudo -E ifconfig eth5:3 192.170.0.2 up ; sudo -E ifconfig eth5:4 192.170.1.2 up; ifconfig ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec> $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 10Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>BUILD/EPC/epc.conf.in MCC \"208\" - BUILD/EPC/epc.conf.in MNC \"92\" - BUILD/EPC/epc.conf.in TAC \"1\" - BUILD/EPC/epc.conf.in MME_INTERFACE_NAME_FOR_S1_MME \"eth5:1\" - BUILD/EPC/epc.conf.in MME_IPV4_ADDRESS_FOR_S1_MME \"192.170.0.1/24\" - BUILD/EPC/epc.conf.in SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth5:2\"; - BUILD/EPC/epc.conf.in SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.170.1.1/24\"; - BUILD/EPC/epc.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth5\" - BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" - BUILD/EPC/epc.conf.in IPV4_LIST \"192.172.0.0/24\",\"192.172.1.0/24\"</EPC_config_file> - <EPC_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_epc</EPC_compile_prog> - <EPC_compile_prog_args>-c -l</EPC_compile_prog_args> - <HSS_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_hss</HSS_compile_prog> - <HSS_compile_prog_args> -c -l --debug --random false </HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E ifconfig eth5 add 192.172.0.1 ; cp $OPENAIRCN_DIR/BUILD/EPC/epc.conf.in $OPENAIRCN_TESTDIR/epc.conf.in</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>$OPENAIRCN_DIR/SCRIPTS/run_epc </EPC_main_exec> - <EPC_main_exec_args> -i -r </EPC_main_exec_args> - <HSS_main_exec>sleep 10; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.OAI_EPC_local.Bandrich.20MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015603" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>calisson</eNB> - <UE>stevens</UE> - <EPC>calisson</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -26 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.170.0.1\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth5:3\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.170.0.2/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth5:4\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.170.1.2/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -c</eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ;sudo -E ifconfig eth5:3 192.170.0.2 up ; sudo -E ifconfig eth5:4 192.170.1.2 up; ifconfig ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec> $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=00.0Mbits/sec max=10.5Mbits/sec average=11.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>BUILD/EPC/epc.conf.in MCC \"208\" - BUILD/EPC/epc.conf.in MNC \"92\" - BUILD/EPC/epc.conf.in TAC \"1\" - BUILD/EPC/epc.conf.in MME_INTERFACE_NAME_FOR_S1_MME \"eth5:1\" - BUILD/EPC/epc.conf.in MME_IPV4_ADDRESS_FOR_S1_MME \"192.170.0.1/24\" - BUILD/EPC/epc.conf.in SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth5:2\"; - BUILD/EPC/epc.conf.in SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.170.1.1/24\"; - BUILD/EPC/epc.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth5\" - BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" - BUILD/EPC/epc.conf.in IPV4_LIST \"192.172.0.0/24\",\"192.172.1.0/24\"</EPC_config_file> - <EPC_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_epc</EPC_compile_prog> - <EPC_compile_prog_args>-c -l</EPC_compile_prog_args> - <HSS_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_hss</HSS_compile_prog> - <HSS_compile_prog_args> -c -l --debug --random false </HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ;sudo -E ifconfig eth5 add 192.172.0.1 ; cp $OPENAIRCN_DIR/BUILD/EPC/epc.conf.in $OPENAIRCN_TESTDIR/epc.conf.in</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>$OPENAIRCN_DIR/SCRIPTS/run_epc </EPC_main_exec> - <EPC_main_exec_args> -i -r </EPC_main_exec_args> - <HSS_main_exec>sleep 10; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 60 lo -u -c 192.172.0.2 -b 10Mbits/s </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true></EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.OAI_EPC_local.Bandrich.5MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015604" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>calisson</eNB> - <UE>stevens</UE> - <EPC>calisson</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -29 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.170.0.1\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth5:3\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.170.0.2/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth5:4\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.170.1.2/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -c</eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ;sudo -E ifconfig eth5:3 192.170.0.2 up ; sudo -E ifconfig eth5:4 192.170.1.2 up; ifconfig ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec> $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=21.0Mbits/sec average=22.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>BUILD/EPC/epc.conf.in MCC \"208\" - BUILD/EPC/epc.conf.in MNC \"92\" - BUILD/EPC/epc.conf.in TAC \"1\" - BUILD/EPC/epc.conf.in MME_INTERFACE_NAME_FOR_S1_MME \"eth5:1\" - BUILD/EPC/epc.conf.in MME_IPV4_ADDRESS_FOR_S1_MME \"192.170.0.1/24\" - BUILD/EPC/epc.conf.in SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth5:2\"; - BUILD/EPC/epc.conf.in SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.170.1.1/24\"; - BUILD/EPC/epc.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth5\" - BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" - BUILD/EPC/epc.conf.in IPV4_LIST \"192.172.0.0/24\",\"192.172.1.0/24\"</EPC_config_file> - <EPC_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_epc</EPC_compile_prog> - <EPC_compile_prog_args>-c -l</EPC_compile_prog_args> - <HSS_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_hss</HSS_compile_prog> - <HSS_compile_prog_args> -c -l --debug --random false </HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ;sudo -E ifconfig eth5 add 192.172.0.1 ; cp $OPENAIRCN_DIR/BUILD/EPC/epc.conf.in $OPENAIRCN_TESTDIR/epc.conf.in</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>$OPENAIRCN_DIR/SCRIPTS/run_epc </EPC_main_exec> - <EPC_main_exec_args> -i -r </EPC_main_exec_args> - <HSS_main_exec>sleep 10; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 60 lo -u -c 192.172.0.2 -b 10Mbits/s </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true></EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.OAI_EPC_local.Bandrich.10MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015605" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>calisson</eNB> - <UE>stevens</UE> - <EPC>calisson</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -29 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.170.0.1\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth5:3\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.170.0.2/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth5:4\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.170.1.2/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -c</eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ;sudo -E ifconfig eth5:3 192.170.0.2 up ; sudo -E ifconfig eth5:4 192.170.1.2 up; ifconfig ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec> $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=42.0Mbits/sec average=44.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>BUILD/EPC/epc.conf.in MCC \"208\" - BUILD/EPC/epc.conf.in MNC \"92\" - BUILD/EPC/epc.conf.in TAC \"1\" - BUILD/EPC/epc.conf.in MME_INTERFACE_NAME_FOR_S1_MME \"eth5:1\" - BUILD/EPC/epc.conf.in MME_IPV4_ADDRESS_FOR_S1_MME \"192.170.0.1/24\" - BUILD/EPC/epc.conf.in SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth5:2\"; - BUILD/EPC/epc.conf.in SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.170.1.1/24\"; - BUILD/EPC/epc.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth5\" - BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.82/24\" - BUILD/EPC/epc.conf.in IPV4_LIST \"192.172.0.0/24\",\"192.172.1.0/24\"</EPC_config_file> - <EPC_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_epc</EPC_compile_prog> - <EPC_compile_prog_args>-c -l</EPC_compile_prog_args> - <HSS_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_hss</HSS_compile_prog> - <HSS_compile_prog_args> -c -l --debug --random false</HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ;sudo -E ifconfig eth5 add 192.172.0.1 ; cp $OPENAIRCN_DIR/BUILD/EPC/epc.conf.in $OPENAIRCN_TESTDIR/epc.conf.in</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>$OPENAIRCN_DIR/SCRIPTS/run_epc </EPC_main_exec> - <EPC_main_exec_args> -i -r </EPC_main_exec_args> - <HSS_main_exec>sleep 10; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 60 lo -u -c 192.172.0.2 -b 10Mbits/s </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true></EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.OAI_EPC_local.Bandrich.20MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015700" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -26 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -c</eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; ifconfig ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec> $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 7Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>ETC/hss.conf MYSQL_user \"root\" - ETC/hss.conf MYSQL_pass \"linux\" - ETC/hss.conf OPERATOR_key \"1006020f0a478bf6b699f15c062e42b3\" - ETC/mme.conf GUMMEI_LIST "{MCC=\"208\";MNC=\"92\";MME_GID=\"4\";MME_CODE=\"1\";}" - ETC/mme.conf TAI_LIST "{MCC=\"208\";MNC=\"92\";TAC=\"1\";}" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S1_MME \"eth1\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S11_MME \"lo\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S11_MME \"127.0.11.1/8\" - ETC/mme.conf MME_PORT_FOR_S11_MME 2123 - ETC/mme.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/mme.conf OUTPUT \"CONSOLE\" - ETC/mme.conf HSS_HOSTNAME \"nano\" - ETC/mme_fd.conf Identity \"nano.openair4G.eur\" - ETC/mme_fd.conf ConnectPeer nano.openair4G.eur - ETC/hss_fd.conf Identity \"nano.openair4G.eur\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S11 \"lo\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth1\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\" - ETC/spgw.conf SGW_IPV4_PORT_FOR_S1U_S12_S4_UP 2152 - ETC/spgw.conf PGW_INTERFACE_NAME_FOR_SGI \"eth1\" - ETC/spgw.conf PGW_MASQUERADE_SGI \"yes\" - ETC/spgw.conf DEFAULT_DNS_IPV4_ADDRESS \"192.168.12.100\" - ETC/spgw.conf IPV4_LIST \"192.172.0.0/24\" </EPC_config_file> - <EPC_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/acl.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/mme.conf /usr/local/etc/oai/ ; sudo cp -vf $OPENAIRCN_DIR/ETC/mme_fd.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/spgw.conf /usr/local/etc/oai ; $OPENAIRCN_DIR/SCRIPTS/./check_mme_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur ; $OPENAIRCN_DIR/SCRIPTS/build_mme -c ; $OPENAIRCN_DIR/SCRIPTS/build_spgw -c </EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/hss.conf /usr/local/etc/oai ; sudo cp -vf $OPENAIRCN_DIR/ETC/hss_fd.conf /usr/local/etc/oai/freeDiameter ; $OPENAIRCN_DIR/SCRIPTS/check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur; $OPENAIRCN_DIR/SCRIPTS/build_hss -c </HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> -c - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>sleep 10;$OPENAIRCN_DIR/TEST/autotests/tools/run_epc </EPC_main_exec> - <EPC_main_exec_args> </EPC_main_exec_args> - <HSS_main_exec>cp -vf $OPENAIRCN_DIR/ETC/*.conf $OPENAIRCN_TESTDIR/; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.OAI_EPC_remote.Bandrich.5MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015701" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -29 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -c</eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; ifconfig ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec> $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 14Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>ETC/hss.conf MYSQL_user \"root\" - ETC/hss.conf MYSQL_pass \"linux\" - ETC/hss.conf OPERATOR_key \"1006020f0a478bf6b699f15c062e42b3\" - ETC/mme.conf GUMMEI_LIST "{MCC=\"208\";MNC=\"92\";MME_GID=\"4\";MME_CODE=\"1\";}" - ETC/mme.conf TAI_LIST "{MCC=\"208\";MNC=\"92\";TAC=\"1\";}" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S1_MME \"eth1\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S11_MME \"lo\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S11_MME \"127.0.11.1/8\" - ETC/mme.conf MME_PORT_FOR_S11_MME 2123 - ETC/mme.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/mme.conf OUTPUT \"CONSOLE\" - ETC/mme.conf HSS_HOSTNAME \"nano\" - ETC/mme_fd.conf Identity \"nano.openair4G.eur\" - ETC/mme_fd.conf ConnectPeer nano.openair4G.eur - ETC/hss_fd.conf Identity \"nano.openair4G.eur\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S11 \"lo\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth1\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\" - ETC/spgw.conf SGW_IPV4_PORT_FOR_S1U_S12_S4_UP 2152 - ETC/spgw.conf PGW_INTERFACE_NAME_FOR_SGI \"eth1\" - ETC/spgw.conf PGW_MASQUERADE_SGI \"yes\" - ETC/spgw.conf DEFAULT_DNS_IPV4_ADDRESS \"192.168.12.100\" - ETC/spgw.conf IPV4_LIST \"192.172.0.0/24\" </EPC_config_file> - <EPC_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/acl.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/mme.conf /usr/local/etc/oai/ ; sudo cp -vf $OPENAIRCN_DIR/ETC/mme_fd.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/spgw.conf /usr/local/etc/oai ; $OPENAIRCN_DIR/SCRIPTS/./check_mme_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur ; $OPENAIRCN_DIR/SCRIPTS/build_mme -c ; $OPENAIRCN_DIR/SCRIPTS/build_spgw -c </EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/hss.conf /usr/local/etc/oai ; sudo cp -vf $OPENAIRCN_DIR/ETC/hss_fd.conf /usr/local/etc/oai/freeDiameter ; $OPENAIRCN_DIR/SCRIPTS/check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur; $OPENAIRCN_DIR/SCRIPTS/build_hss -c </HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> -c - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E ifconfig eth0 add 192.172.0.1</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>sleep 10;$OPENAIRCN_DIR/TEST/autotests/tools/run_epc </EPC_main_exec> - <EPC_main_exec_args> </EPC_main_exec_args> - <HSS_main_exec>cp -vf $OPENAIRCN_DIR/ETC/*.conf $OPENAIRCN_TESTDIR/; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.OAI_EPC_remote.Bandrich.10MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015702" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -32 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -c</eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ;sudo -E ifconfig eth0:3 192.170.0.2 up ; sudo -E ifconfig eth0:4 192.170.1.2 up; ifconfig ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf $OPENAIR_TESTDIR/enb.conf </eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec> $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 28Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>ETC/hss.conf MYSQL_user \"root\" - ETC/hss.conf MYSQL_pass \"linux\" - ETC/hss.conf OPERATOR_key \"1006020f0a478bf6b699f15c062e42b3\" - ETC/mme.conf GUMMEI_LIST "{MCC=\"208\";MNC=\"92\";MME_GID=\"4\";MME_CODE=\"1\";}" - ETC/mme.conf TAI_LIST "{MCC=\"208\";MNC=\"92\";TAC=\"1\";}" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S1_MME \"eth1\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S11_MME \"lo\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S11_MME \"127.0.11.1/8\" - ETC/mme.conf MME_PORT_FOR_S11_MME 2123 - ETC/mme.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/mme.conf OUTPUT \"CONSOLE\" - ETC/mme.conf HSS_HOSTNAME \"nano\" - ETC/mme_fd.conf Identity \"nano.openair4G.eur\" - ETC/mme_fd.conf ConnectPeer nano.openair4G.eur - ETC/hss_fd.conf Identity \"nano.openair4G.eur\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S11 \"lo\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth1\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\" - ETC/spgw.conf SGW_IPV4_PORT_FOR_S1U_S12_S4_UP 2152 - ETC/spgw.conf PGW_INTERFACE_NAME_FOR_SGI \"eth1\" - ETC/spgw.conf PGW_MASQUERADE_SGI \"yes\" - ETC/spgw.conf DEFAULT_DNS_IPV4_ADDRESS \"192.168.12.100\" - ETC/spgw.conf IPV4_LIST \"192.172.0.0/24\" </EPC_config_file> - <EPC_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/acl.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/mme.conf /usr/local/etc/oai/ ; sudo cp -vf $OPENAIRCN_DIR/ETC/mme_fd.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/spgw.conf /usr/local/etc/oai ; $OPENAIRCN_DIR/SCRIPTS/./check_mme_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur ; $OPENAIRCN_DIR/SCRIPTS/build_mme -c ; $OPENAIRCN_DIR/SCRIPTS/build_spgw -c </EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/hss.conf /usr/local/etc/oai ; sudo cp -vf $OPENAIRCN_DIR/ETC/hss_fd.conf /usr/local/etc/oai/freeDiameter ; $OPENAIRCN_DIR/SCRIPTS/check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur; $OPENAIRCN_DIR/SCRIPTS/build_hss -c </HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> -c - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E ifconfig eth0 add 192.172.0.1</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>sleep 10;$OPENAIRCN_DIR/TEST/autotests/tools/run_epc </EPC_main_exec> - <EPC_main_exec_args> </EPC_main_exec_args> - <HSS_main_exec>cp -vf $OPENAIRCN_DIR/ETC/*.conf $OPENAIRCN_TESTDIR/; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.OAI_EPC_remote.Bandrich.20MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015703" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -26 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -c</eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; ifconfig ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec> $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -f m -u </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>ETC/hss.conf MYSQL_user \"root\" - ETC/hss.conf MYSQL_pass \"linux\" - ETC/hss.conf OPERATOR_key \"1006020f0a478bf6b699f15c062e42b3\" - ETC/mme.conf GUMMEI_LIST "{MCC=\"208\";MNC=\"92\";MME_GID=\"4\";MME_CODE=\"1\";}" - ETC/mme.conf TAI_LIST "{MCC=\"208\";MNC=\"92\";TAC=\"1\";}" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S1_MME \"eth1\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S11_MME \"lo\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S11_MME \"127.0.11.1/8\" - ETC/mme.conf MME_PORT_FOR_S11_MME 2123 - ETC/mme.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/mme.conf OUTPUT \"CONSOLE\" - ETC/mme.conf HSS_HOSTNAME \"nano\" - ETC/mme_fd.conf Identity \"nano.openair4G.eur\" - ETC/mme_fd.conf ConnectPeer nano.openair4G.eur - ETC/hss_fd.conf Identity \"nano.openair4G.eur\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S11 \"lo\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth1\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\" - ETC/spgw.conf SGW_IPV4_PORT_FOR_S1U_S12_S4_UP 2152 - ETC/spgw.conf PGW_INTERFACE_NAME_FOR_SGI \"eth1\" - ETC/spgw.conf PGW_MASQUERADE_SGI \"yes\" - ETC/spgw.conf DEFAULT_DNS_IPV4_ADDRESS \"192.168.12.100\" - ETC/spgw.conf IPV4_LIST \"192.172.0.0/24\" </EPC_config_file> - <EPC_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/acl.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/mme.conf /usr/local/etc/oai/ ; sudo cp -vf $OPENAIRCN_DIR/ETC/mme_fd.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/spgw.conf /usr/local/etc/oai ; $OPENAIRCN_DIR/SCRIPTS/./check_mme_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur ; $OPENAIRCN_DIR/SCRIPTS/build_mme -c ; $OPENAIRCN_DIR/SCRIPTS/build_spgw -c </EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/hss.conf /usr/local/etc/oai ; sudo cp -vf $OPENAIRCN_DIR/ETC/hss_fd.conf /usr/local/etc/oai/freeDiameter ; $OPENAIRCN_DIR/SCRIPTS/check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur; $OPENAIRCN_DIR/SCRIPTS/build_hss -c </HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> -c - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E ifconfig eth0 add 192.172.0.1</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>sleep 10;$OPENAIRCN_DIR/TEST/autotests/tools/run_epc </EPC_main_exec> - <EPC_main_exec_args> </EPC_main_exec_args> - <HSS_main_exec>cp -vf $OPENAIRCN_DIR/ETC/*.conf $OPENAIRCN_TESTDIR/; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b 16M -i 1 -f m -u</EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true></EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.OAI_EPC_remote.Bandrich.5MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015704" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -29 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -c</eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; ifconfig ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec> $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -f m -u </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=9.0Mbits/sec average=9.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>ETC/hss.conf MYSQL_user \"root\" - ETC/hss.conf MYSQL_pass \"linux\" - ETC/hss.conf OPERATOR_key \"1006020f0a478bf6b699f15c062e42b3\" - ETC/mme.conf GUMMEI_LIST "{MCC=\"208\";MNC=\"92\";MME_GID=\"4\";MME_CODE=\"1\";}" - ETC/mme.conf TAI_LIST "{MCC=\"208\";MNC=\"92\";TAC=\"1\";}" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S1_MME \"eth1\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S11_MME \"lo\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S11_MME \"127.0.11.1/8\" - ETC/mme.conf MME_PORT_FOR_S11_MME 2123 - ETC/mme.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/mme.conf OUTPUT \"CONSOLE\" - ETC/mme.conf HSS_HOSTNAME \"nano\" - ETC/mme_fd.conf Identity \"nano.openair4G.eur\" - ETC/mme_fd.conf ConnectPeer nano.openair4G.eur - ETC/hss_fd.conf Identity \"nano.openair4G.eur\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S11 \"lo\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth1\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\" - ETC/spgw.conf SGW_IPV4_PORT_FOR_S1U_S12_S4_UP 2152 - ETC/spgw.conf PGW_INTERFACE_NAME_FOR_SGI \"eth1\" - ETC/spgw.conf PGW_MASQUERADE_SGI \"yes\" - ETC/spgw.conf DEFAULT_DNS_IPV4_ADDRESS \"192.168.12.100\" - ETC/spgw.conf IPV4_LIST \"192.172.0.0/24\" </EPC_config_file> - <EPC_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/acl.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/mme.conf /usr/local/etc/oai/ ; sudo cp -vf $OPENAIRCN_DIR/ETC/mme_fd.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/spgw.conf /usr/local/etc/oai ; $OPENAIRCN_DIR/SCRIPTS/./check_mme_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur ; $OPENAIRCN_DIR/SCRIPTS/build_mme -c ; $OPENAIRCN_DIR/SCRIPTS/build_spgw -c </EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/hss.conf /usr/local/etc/oai ; sudo cp -vf $OPENAIRCN_DIR/ETC/hss_fd.conf /usr/local/etc/oai/freeDiameter ; $OPENAIRCN_DIR/SCRIPTS/check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur; $OPENAIRCN_DIR/SCRIPTS/build_hss -c </HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E ifconfig eth0 add 192.172.0.1</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>sleep 10;$OPENAIRCN_DIR/TEST/autotests/tools/run_epc </EPC_main_exec> - <EPC_main_exec_args> </EPC_main_exec_args> - <HSS_main_exec>cp -vf $OPENAIRCN_DIR/ETC/*.conf $OPENAIRCN_TESTDIR/; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b33M -i 1 -f m -u </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true></EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.OAI_EPC_remote.Bandrich.10MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015705" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -32 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -c</eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; ifconfig ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec> $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -f m -u </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=9.0Mbits/sec average=9.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>ETC/hss.conf MYSQL_user \"root\" - ETC/hss.conf MYSQL_pass \"linux\" - ETC/hss.conf OPERATOR_key \"1006020f0a478bf6b699f15c062e42b3\" - ETC/mme.conf GUMMEI_LIST "{MCC=\"208\";MNC=\"92\";MME_GID=\"4\";MME_CODE=\"1\";}" - ETC/mme.conf TAI_LIST "{MCC=\"208\";MNC=\"92\";TAC=\"1\";}" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S1_MME \"eth1\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S11_MME \"lo\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S11_MME \"127.0.11.1/8\" - ETC/mme.conf MME_PORT_FOR_S11_MME 2123 - ETC/mme.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/mme.conf OUTPUT \"CONSOLE\" - ETC/mme.conf HSS_HOSTNAME \"nano\" - ETC/mme_fd.conf Identity \"nano.openair4G.eur\" - ETC/mme_fd.conf ConnectPeer nano.openair4G.eur - ETC/hss_fd.conf Identity \"nano.openair4G.eur\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S11 \"lo\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth1\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\" - ETC/spgw.conf SGW_IPV4_PORT_FOR_S1U_S12_S4_UP 2152 - ETC/spgw.conf PGW_INTERFACE_NAME_FOR_SGI \"eth1\" - ETC/spgw.conf PGW_MASQUERADE_SGI \"yes\" - ETC/spgw.conf DEFAULT_DNS_IPV4_ADDRESS \"192.168.12.100\" - ETC/spgw.conf IPV4_LIST \"192.172.0.0/24\" </EPC_config_file> - <EPC_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/acl.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/mme.conf /usr/local/etc/oai/ ; sudo cp -vf $OPENAIRCN_DIR/ETC/mme_fd.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/spgw.conf /usr/local/etc/oai ; $OPENAIRCN_DIR/SCRIPTS/./check_mme_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur ; $OPENAIRCN_DIR/SCRIPTS/build_mme -c ; $OPENAIRCN_DIR/SCRIPTS/build_spgw -c </EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/hss.conf /usr/local/etc/oai ; sudo cp -vf $OPENAIRCN_DIR/ETC/hss_fd.conf /usr/local/etc/oai/freeDiameter ; $OPENAIRCN_DIR/SCRIPTS/check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur; $OPENAIRCN_DIR/SCRIPTS/build_hss -c </HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> -c - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E ifconfig eth0 add 192.172.0.1</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>sleep 10;$OPENAIRCN_DIR/TEST/autotests/tools/run_epc </EPC_main_exec> - <EPC_main_exec_args> </EPC_main_exec_args> - <HSS_main_exec>cp -vf $OPENAIRCN_DIR/ETC/*.conf $OPENAIRCN_TESTDIR/; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b55M -i 1 -f m -u</EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true></EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.OAI_EPC_remote.Bandrich.20MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - - <testCase id="015800" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 7Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -f m -u</EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.5MHz.FDD.UDP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - - <testCase id="015801" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 14Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.10MHz.FDD.UDP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015802" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf pdsch_referenceSignalPower -23 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 17Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.20MHz.FDD.UDP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015803" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -i 1 -u -f m -b 16M </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.5MHz.FDD.UDP.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015804" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args>sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b 31Mbits/s -i 1 -f m -u </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.10MHz.FDD.UDP.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015805" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf pdsch_referenceSignalPower -23 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -u -c 192.172.0.2 -b 33Mbits/s </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.20MHz.FDD.UDP.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015806" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -c 192.172.0.1 </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.5MHz.FDD.TCP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - - <testCase id="015807" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -c 192.172.0.1 </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.10MHz.FDD.TCP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015808" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf pdsch_referenceSignalPower -23 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -c 192.172.0.1 </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.20MHz.FDD.TCP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015809" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.5MHz.FDD.TCP.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015810" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args>sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.10MHz.FDD.TCP.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015811" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf pdsch_referenceSignalPower -23 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.20MHz.FDD.TCP.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015812" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 7Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -f m -u</EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.5MHz.FDD.UDP.Band_7.UL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - - <testCase id="015813" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 14Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.10MHz.FDD.UDP.Band_7.UL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015814" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf pdsch_referenceSignalPower -23 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 28Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.20MHz.FDD.UDP.Band_7.UL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015815" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -i 1 -u -f m -b 16M </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.5MHz.FDD.UDP.Band_7.DL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015816" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b 33Mbits/s -i 1 -f m -u </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.10MHz.FDD.UDP.Band_7.DL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015817" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf pdsch_referenceSignalPower -23 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -u -c 192.172.0.2 -b 33Mbits/s </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.20MHz.FDD.UDP.Band_7.DL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015818" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -c 192.172.0.1 </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.5MHz.FDD.TCP.Band_7.UL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - - <testCase id="015819" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -c 192.172.0.1 </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.10MHz.FDD.TCP.Band_7.UL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015820" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf pdsch_referenceSignalPower -23 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -c 192.172.0.1 </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.20MHz.FDD.TCP.Band_7.UL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015821" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.5MHz.FDD.TCP.Band_7.DL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015822" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.10MHz.FDD.TCP.Band_7.DL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="015823" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf pdsch_referenceSignalPower -23 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c --disable-cpu-affinity </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_usrpb210.py --stop-usrpb210 ; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.ALU_EPC.Bandrich.20MHz.FDD.TCP.Band_7.DL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - - - <testCase id="016000" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 10Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>BUILD/EPC/epc.conf.in MCC \"208\" - BUILD/EPC/epc.conf.in MNC \"92\" - BUILD/EPC/epc.conf.in TAC \"1\" - BUILD/EPC/epc.conf.in MME_INTERFACE_NAME_FOR_S1_MME \"eth0\" - BUILD/EPC/epc.conf.in MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth0\"; - BUILD/EPC/epc.conf.in SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\"; - BUILD/EPC/epc.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth0\" - BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in IPV4_LIST \"192.172.0.0/24\",\"192.172.1.0/24\"</EPC_config_file> - <EPC_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_epc</EPC_compile_prog> - <EPC_compile_prog_args>-c -l</EPC_compile_prog_args> - <HSS_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_hss</HSS_compile_prog> - <HSS_compile_prog_args> -c -l --debug --random false </HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E ifconfig eth0 add 192.172.0.1 ; cp $OPENAIRCN_DIR/BUILD/EPC/epc.conf.in $OPENAIRCN_TESTDIR/epc.conf.in</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>$OPENAIRCN_DIR/SCRIPTS/run_epc </EPC_main_exec> - <EPC_main_exec_args> -r </EPC_main_exec_args> - <HSS_main_exec>sleep 10; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.OAI_EPC_remote.Bandrich.5MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - - - <testCase id="016001" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 10Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>BUILD/EPC/epc.conf.in MCC \"208\" - BUILD/EPC/epc.conf.in MNC \"92\" - BUILD/EPC/epc.conf.in TAC \"1\" - BUILD/EPC/epc.conf.in MME_INTERFACE_NAME_FOR_S1_MME \"eth0\" - BUILD/EPC/epc.conf.in MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth0\"; - BUILD/EPC/epc.conf.in SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\"; - BUILD/EPC/epc.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth0\" - BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in IPV4_LIST \"192.172.0.0/24\",\"192.172.1.0/24\"</EPC_config_file> - <EPC_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_epc</EPC_compile_prog> - <EPC_compile_prog_args>-c -l</EPC_compile_prog_args> - <HSS_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_hss</HSS_compile_prog> - <HSS_compile_prog_args> -c -l --debug --random false </HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ;sudo -E ifconfig eth0 add 192.172.0.1 ; cp $OPENAIRCN_DIR/BUILD/EPC/epc.conf.in $OPENAIRCN_TESTDIR/epc.conf.in </EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>$OPENAIRCN_DIR/SCRIPTS/run_epc </EPC_main_exec> - <EPC_main_exec_args> -r </EPC_main_exec_args> - <HSS_main_exec>sleep 10; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.OAI_EPC_remote.Bandrich.10MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="016002" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf pdsch_referenceSignalPower -23 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 17Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>BUILD/EPC/epc.conf.in MCC \"208\" - BUILD/EPC/epc.conf.in MNC \"92\" - BUILD/EPC/epc.conf.in TAC \"1\" - BUILD/EPC/epc.conf.in MME_INTERFACE_NAME_FOR_S1_MME \"eth0\" - BUILD/EPC/epc.conf.in MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth0\"; - BUILD/EPC/epc.conf.in SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\"; - BUILD/EPC/epc.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth0\" - BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in IPV4_LIST \"192.172.0.0/24\",\"192.172.1.0/24\"</EPC_config_file> - <EPC_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_epc</EPC_compile_prog> - <EPC_compile_prog_args>-c -l</EPC_compile_prog_args> - <HSS_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_hss</HSS_compile_prog> - <HSS_compile_prog_args> -c -l --debug --random false</HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E ifconfig eth0 add 192.172.0.1</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>$OPENAIRCN_DIR/SCRIPTS/run_epc </EPC_main_exec> - <EPC_main_exec_args> -r </EPC_main_exec_args> - <HSS_main_exec>sleep 10; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.OAI_EPC_remote.Bandrich.20MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="016003" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=00.0Mbits/sec max=10.5Mbits/sec average=11.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>BUILD/EPC/epc.conf.in MCC \"208\" - BUILD/EPC/epc.conf.in MNC \"92\" - BUILD/EPC/epc.conf.in TAC \"1\" - BUILD/EPC/epc.conf.in MME_INTERFACE_NAME_FOR_S1_MME \"eth0\" - BUILD/EPC/epc.conf.in MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth0\"; - BUILD/EPC/epc.conf.in SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\"; - BUILD/EPC/epc.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth0\" - BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in IPV4_LIST \"192.172.0.0/24\",\"192.172.1.0/24\"</EPC_config_file> - <EPC_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_epc</EPC_compile_prog> - <EPC_compile_prog_args>-c -l </EPC_compile_prog_args> - <HSS_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_hss</HSS_compile_prog> - <HSS_compile_prog_args> -c -l --debug --random false </HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ;sudo -E ifconfig eth0 add 192.172.0.1 ; cp $OPENAIRCN_DIR/BUILD/EPC/epc.conf.in $OPENAIRCN_TESTDIR/epc.conf.in</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>$OPENAIRCN_DIR/SCRIPTS/run_epc </EPC_main_exec> - <EPC_main_exec_args> -r </EPC_main_exec_args> - <HSS_main_exec>sleep 10; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 60 lo -u -c 192.172.0.2 -b 10Mbits/s </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true></EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.OAI_EPC_remote.Bandrich.5MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="016004" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>sleep 15;$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args>sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail</eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=21.0Mbits/sec average=22.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue</UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>BUILD/EPC/epc.conf.in MCC \"208\" - BUILD/EPC/epc.conf.in MNC \"92\" - BUILD/EPC/epc.conf.in TAC \"1\" - BUILD/EPC/epc.conf.in MME_INTERFACE_NAME_FOR_S1_MME \"eth0\" - BUILD/EPC/epc.conf.in MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth0\"; - BUILD/EPC/epc.conf.in SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\"; - BUILD/EPC/epc.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth0\" - BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in IPV4_LIST \"192.172.0.0/24\",\"192.172.1.0/24\"</EPC_config_file> - <EPC_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_epc</EPC_compile_prog> - <EPC_compile_prog_args>-c -l</EPC_compile_prog_args> - <HSS_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_hss</HSS_compile_prog> - <HSS_compile_prog_args> -c -l --debug --random false</HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ;sudo -E ifconfig eth0 add 192.172.0.1 ; cp $OPENAIRCN_DIR/BUILD/EPC/epc.conf.in $OPENAIRCN_TESTDIR/epc.conf</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>$OPENAIRCN_DIR/SCRIPTS/run_epc </EPC_main_exec> - <EPC_main_exec_args> -r </EPC_main_exec_args> - <HSS_main_exec>sleep 10; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 60 lo -u -c 192.172.0.2 -b 10Mbits/s </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true></EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.OAI_EPC_remote.Bandrich.10MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="016005" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf pdsch_referenceSignalPower -23 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S /usr/local/bin/niusrprio_pcie start ; dmesg|tail ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=21.0Mbits/sec average=22.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>BUILD/EPC/epc.conf.in MCC \"208\" - BUILD/EPC/epc.conf.in MNC \"92\" - BUILD/EPC/epc.conf.in TAC \"1\" - BUILD/EPC/epc.conf.in MME_INTERFACE_NAME_FOR_S1_MME \"eth0\" - BUILD/EPC/epc.conf.in MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth0\"; - BUILD/EPC/epc.conf.in SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\"; - BUILD/EPC/epc.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth0\" - BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in IPV4_LIST \"192.172.0.0/24\",\"192.172.1.0/24\"</EPC_config_file> - <EPC_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_epc</EPC_compile_prog> - <EPC_compile_prog_args>-c -l</EPC_compile_prog_args> - <HSS_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_hss</HSS_compile_prog> - <HSS_compile_prog_args> -c -l --debug --random false </HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ;sudo -E ifconfig eth0 add 192.172.0.1 ; cp $OPENAIRCN_DIR/BUILD/EPC/epc.conf.in $OPENAIRCN_TESTDIR/epc.conf.in</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>$OPENAIRCN_DIR/SCRIPTS/run_epc </EPC_main_exec> - <EPC_main_exec_args> -r </EPC_main_exec_args> - <HSS_main_exec>sleep 10; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -u -c 192.172.0.2 -b 33Mbits/s </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true></EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPx310.OAI_EPC_remote.Bandrich.20MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="016100" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>calisson</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w EXMIMO -x -c --disable-cpu-affinity </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S $OPENAIR_DIR/cmake_targets/tools/stop_exmimo2; dmesg|tail </eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 7Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>EXMIMO.ALU_EPC.Bandrich.5MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - - <testCase id="016101" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>calisson</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1U \"eth5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w EXMIMO -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S $OPENAIR_DIR/cmake_targets/tools/stop_exmimo2 ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 14Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>EXMIMO.ALU_EPC.Bandrich.10MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="016102" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>calisson</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf pdsch_referenceSignalPower -23 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpx310.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w EXMIMO -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S $OPENAIR_DIR/cmake_targets/tools/stop_exmimo2 ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 10Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>EXMIMO.ALU_EPC.Bandrich.20MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="016103" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>calisson</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1U \"eth5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w EXMIMO -x -c --disable-cpu-affinity </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S $OPENAIR_DIR/cmake_targets/tools/stop_exmimo2 ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -u -f m</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -i 1 -u -f m -b 16M </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>EXMIMO.ALU_EPC.Bandrich.5MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="016104" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>calisson</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1U \"eth5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w EXMIMO -x -c --disable-cpu-affinity</eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S $OPENAIR_DIR/cmake_targets/tools/stop_exmimo2 ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -u -f m</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -i 1 -u -f m -b 32M </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>EXMIMO.ALU_EPC.Bandrich.10MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="016105" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>calisson</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1U \"eth5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w EXMIMO -x -c --disable-cpu-affinity </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S $OPENAIR_DIR/cmake_targets/tools/stop_exmimo2 ; dmesg|tail</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -u -f m</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -i 1 -u -f m -b 16M </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>EXMIMO.ALU_EPC.Bandrich.20MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - - - <testCase id="016300" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>calisson</eNB> - <UE>stevens</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1U \"eth5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w EXMIMO -x -c </eNB_compile_prog_args> - <eNB_pre_exec>sleep 15;$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S $OPENAIR_DIR/cmake_targets/tools/stop_exmimo2; dmesg|tail ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf $OPENAIR_TESTDIR/enb.conf </eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 10Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>BUILD/EPC/epc.conf.in MCC \"208\" - BUILD/EPC/epc.conf.in MNC \"92\" - BUILD/EPC/epc.conf.in TAC \"1\" - BUILD/EPC/epc.conf.in MME_INTERFACE_NAME_FOR_S1_MME \"eth0\" - BUILD/EPC/epc.conf.in MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth0\"; - BUILD/EPC/epc.conf.in SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\"; - BUILD/EPC/epc.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth0\" - BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in IPV4_LIST \"192.172.0.0/24\",\"192.172.1.0/24\"</EPC_config_file> - <EPC_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_epc</EPC_compile_prog> - <EPC_compile_prog_args>-c -l</EPC_compile_prog_args> - <HSS_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_hss</HSS_compile_prog> - <HSS_compile_prog_args> -c -l --debug --random false </HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E ifconfig eth0 add 192.172.0.1 ;cp $OPENAIRCN_DIR/BUILD/EPC/epc.conf.in $OPENAIRCN_TESTDIR/epc.conf.in</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>$OPENAIRCN_DIR/SCRIPTS/run_epc </EPC_main_exec> - <EPC_main_exec_args> -r </EPC_main_exec_args> - <HSS_main_exec>sleep 10; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>EXMIMO.OAI_EPC_remote.Bandrich.5MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - - - <testCase id="016301" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>calisson</eNB> - <UE>stevens</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1U \"eth5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w EXMIMO -x -c </eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S $OPENAIR_DIR/cmake_targets/tools/stop_exmimo2 ; dmesg|tail; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 10Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>BUILD/EPC/epc.conf.in MCC \"208\" - BUILD/EPC/epc.conf.in MNC \"92\" - BUILD/EPC/epc.conf.in TAC \"1\" - BUILD/EPC/epc.conf.in MME_INTERFACE_NAME_FOR_S1_MME \"eth0\" - BUILD/EPC/epc.conf.in MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth0\"; - BUILD/EPC/epc.conf.in SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\"; - BUILD/EPC/epc.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth0\" - BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in IPV4_LIST \"192.172.0.0/24\",\"192.172.1.0/24\"</EPC_config_file> - <EPC_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_epc</EPC_compile_prog> - <EPC_compile_prog_args>-c -l</EPC_compile_prog_args> - <HSS_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_hss</HSS_compile_prog> - <HSS_compile_prog_args> -c -l --debug --random false </HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ;sudo -E ifconfig eth0 add 192.172.0.1 ; cp $OPENAIRCN_DIR/BUILD/EPC/epc.conf.in $OPENAIRCN_TESTDIR/epc.conf.in</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>$OPENAIRCN_DIR/SCRIPTS/run_epc </EPC_main_exec> - <EPC_main_exec_args> -r </EPC_main_exec_args> - <HSS_main_exec>sleep 10; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>EXMIMO.OAI_EPC_remote.Bandrich.10MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="016302" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>calisson</eNB> - <UE>stevens</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1U \"eth5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w EXMIMO -x -c </eNB_compile_prog_args> - <eNB_pre_exec>sleep 15;$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S $OPENAIR_DIR/cmake_targets/tools/stop_exmimo2 ; dmesg|tail ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 10Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue</UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>BUILD/EPC/epc.conf.in MCC \"208\" - BUILD/EPC/epc.conf.in MNC \"92\" - BUILD/EPC/epc.conf.in TAC \"1\" - BUILD/EPC/epc.conf.in MME_INTERFACE_NAME_FOR_S1_MME \"eth0\" - BUILD/EPC/epc.conf.in MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth0\"; - BUILD/EPC/epc.conf.in SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\"; - BUILD/EPC/epc.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth0\" - BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in IPV4_LIST \"192.172.0.0/24\",\"192.172.1.0/24\"</EPC_config_file> - <EPC_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_epc</EPC_compile_prog> - <EPC_compile_prog_args>-c -l</EPC_compile_prog_args> - <HSS_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_hss</HSS_compile_prog> - <HSS_compile_prog_args> -c -l --debug --random false </HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E ifconfig eth0 add 192.172.0.1 ; cp $OPENAIRCN_DIR/BUILD/EPC/epc.conf.in $OPENAIRCN_TESTDIR/epc.conf.in</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>$OPENAIRCN_DIR/SCRIPTS/run_epc </EPC_main_exec> - <EPC_main_exec_args> -r </EPC_main_exec_args> - <HSS_main_exec>sleep 10; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>EXMIMO.OAI_EPC_remote.Bandrich.20MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="016303" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>calisson</eNB> - <UE>stevens</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1U \"eth5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w EXMIMO -x -c </eNB_compile_prog_args> - <eNB_pre_exec>sleep 15;$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S $OPENAIR_DIR/cmake_targets/tools/stop_exmimo2 ; dmesg|tail; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs>> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=00.0Mbits/sec max=10.5Mbits/sec average=11.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>BUILD/EPC/epc.conf.in MCC \"208\" - BUILD/EPC/epc.conf.in MNC \"92\" - BUILD/EPC/epc.conf.in TAC \"1\" - BUILD/EPC/epc.conf.in MME_INTERFACE_NAME_FOR_S1_MME \"eth0\" - BUILD/EPC/epc.conf.in MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth0\"; - BUILD/EPC/epc.conf.in SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\"; - BUILD/EPC/epc.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth0\" - BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in IPV4_LIST \"192.172.0.0/24\",\"192.172.1.0/24\"</EPC_config_file> - <EPC_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_epc</EPC_compile_prog> - <EPC_compile_prog_args>-c -l</EPC_compile_prog_args> - <HSS_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_hss</HSS_compile_prog> - <HSS_compile_prog_args> -c -l --debug --random false </HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ;sudo -E ifconfig eth0 add 192.172.0.1 ;cp $OPENAIRCN_DIR/BUILD/EPC/epc.conf.in $OPENAIRCN_TESTDIR/epc.conf.in</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>$OPENAIRCN_DIR/SCRIPTS/run_epc </EPC_main_exec> - <EPC_main_exec_args> -r </EPC_main_exec_args> - <HSS_main_exec>sleep 10; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 60 lo -u -c 192.172.0.2 -b 10Mbits/s </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true></EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>EXMIMO.OAI_EPC_remote.Bandrich.5MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="016304" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>calisson</eNB> - <UE>stevens</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1U \"eth5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w EXMIMO -x -c </eNB_compile_prog_args> - <eNB_pre_exec>sleep 15;$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S $OPENAIR_DIR/cmake_targets/tools/stop_exmimo2 ; dmesg|tail; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=21.0Mbits/sec average=22.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue</UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>BUILD/EPC/epc.conf.in MCC \"208\" - BUILD/EPC/epc.conf.in MNC \"92\" - BUILD/EPC/epc.conf.in TAC \"1\" - BUILD/EPC/epc.conf.in MME_INTERFACE_NAME_FOR_S1_MME \"eth0\" - BUILD/EPC/epc.conf.in MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth0\"; - BUILD/EPC/epc.conf.in SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\"; - BUILD/EPC/epc.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth0\" - BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in IPV4_LIST \"192.172.0.0/24\",\"192.172.1.0/24\"</EPC_config_file> - <EPC_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_epc</EPC_compile_prog> - <EPC_compile_prog_args>-c -l</EPC_compile_prog_args> - <HSS_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_hss</HSS_compile_prog> - <HSS_compile_prog_args> -c -l --debug --random false </HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ;sudo -E ifconfig eth0 add 192.172.0.1 ; cp $OPENAIRCN_DIR/BUILD/EPC/epc.conf.in $OPENAIRCN_TESTDIR/epc.conf.in</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>$OPENAIRCN_DIR/SCRIPTS/run_epc </EPC_main_exec> - <EPC_main_exec_args> -r </EPC_main_exec_args> - <HSS_main_exec>sleep 10; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 60 lo -u -c 192.172.0.2 -b 10Mbits/s </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true></EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>EXMIMO.OAI_EPC_remote.Bandrich.10MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="016305" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>calisson</eNB> - <UE>stevens</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_INTERFACE_NAME_FOR_S1U \"eth5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.82/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w EXMIMO -x -c </eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo -E -S $OPENAIR_DIR/cmake_targets/tools/stop_exmimo2 ; dmesg|tail; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.exmimo2.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=21.0Mbits/sec average=22.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>BUILD/EPC/epc.conf.in MCC \"208\" - BUILD/EPC/epc.conf.in MNC \"92\" - BUILD/EPC/epc.conf.in TAC \"1\" - BUILD/EPC/epc.conf.in MME_INTERFACE_NAME_FOR_S1_MME \"eth0\" - BUILD/EPC/epc.conf.in MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth0\"; - BUILD/EPC/epc.conf.in SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\"; - BUILD/EPC/epc.conf.in PGW_INTERFACE_NAME_FOR_SGI \"eth0\" - BUILD/EPC/epc.conf.in PGW_IPV4_ADDRESS_FOR_SGI \"192.168.12.62/24\" - BUILD/EPC/epc.conf.in IPV4_LIST \"192.172.0.0/24\",\"192.172.1.0/24\"</EPC_config_file> - <EPC_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_epc</EPC_compile_prog> - <EPC_compile_prog_args>-c -l</EPC_compile_prog_args> - <HSS_compile_prog>$OPENAIRCN_DIR/SCRIPTS/build_hss</HSS_compile_prog> - <HSS_compile_prog_args> -c -l --debug --random false</HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ;sudo -E ifconfig eth0 add 192.172.0.1</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>$OPENAIRCN_DIR/SCRIPTS/run_epc </EPC_main_exec> - <EPC_main_exec_args> -r </EPC_main_exec_args> - <HSS_main_exec>sleep 10; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 60 lo -u -c 192.172.0.2 -b 10Mbits/s ; cp $OPENAIRCN_DIR/BUILD/EPC/epc.conf.in $OPENAIRCN_TESTDIR/epc.conf.in</EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true></EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>EXMIMO.OAI_EPC_remote.Bandrich.20MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - - <testCase id="016500" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf pdsch_referenceSignalPower -26 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w BLADERF -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 10Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>BladeRF.ALU_EPC.Bandrich.5MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - - <testCase id="016501" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf pdsch_referenceSignalPower -29 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w BLADERF -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 10Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>BladeRF.ALU_EPC.Bandrich.10MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="016502" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf pdsch_referenceSignalPower -32 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w BLADERF -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 10Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>BladeRF.ALU_EPC.Bandrich.20MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="016503" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf pdsch_referenceSignalPower -26 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w BLADERF -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 60 lo -u -c 192.172.0.2 -b 10Mbits/s </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>BladeRF.ALU_EPC.Bandrich.5MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="016504" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf pdsch_referenceSignalPower -29 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w BLADERF -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 60 lo -u -c 192.172.0.2 -b 10Mbits/s </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>BladeRF.ALU_EPC.Bandrich.10MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="016505" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf pdsch_referenceSignalPower -32 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w BLADERF -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash </eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.bladerfx40.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 60 lo -u -c 192.172.0.2 -b 10Mbits/s </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>BladeRF.ALU_EPC.Bandrich.20MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="017000" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf tx_gain 60 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf rx_gain 111 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf pdsch_referenceSignalPower -26 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w LMSSDR -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf --rf-config-file $OPENAIR_DIR/sdr/LMSSDR/enb_sodera_highband_5MHz_rx19dB_txfull.ini </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 10Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>LMSSDR.ALU_EPC.Bandrich.5MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - - <testCase id="017001" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf tx_gain 60 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf rx_gain 111 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf pdsch_referenceSignalPower -26 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w LMSSDR -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf --rf-config-file $OPENAIR_DIR/sdr/LMSSDR/enb_sodera_highband_10MHz_rx19dB_txfull.ini </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 10Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>LMSSDR.ALU_EPC.Bandrich.10MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="017002" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf tx_gain 60 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf rx_gain 111 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf pdsch_referenceSignalPower -26 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w LMSSDR -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf --rf-config-file $OPENAIR_DIR/sdr/LMSSDR/enb_sodera_highband_20MHz_rx19dB_txfull.ini </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -u -c 192.172.0.1 -b 10Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>LMSSDR.ALU_EPC.Bandrich.20MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="017003" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf tx_gain 60 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf rx_gain 111 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf pdsch_referenceSignalPower -29 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w LMSSDR -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf --rf-config-file $OPENAIR_DIR/sdr/LMSSDR/enb_sodera_highband_5MHz_rx19dB_txfull.ini </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 60 lo -u -c 192.172.0.2 -b 10Mbits/s </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>LMSSDR.ALU_EPC.Bandrich.5MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="017004" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf tx_gain 60 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf rx_gain 111 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf pdsch_referenceSignalPower -29 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w LMSSDR -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf --rf-config-file $OPENAIR_DIR/sdr/LMSSDR/enb_sodera_highband_10MHz_rx19dB_txfull.ini</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 60 lo -u -c 192.172.0.2 -b 10Mbits/s </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>SoDeRa.ALU_EPC.Bandrich.10MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="017005" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>mozart</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf tx_gain 60 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf rx_gain 111 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf pdsch_referenceSignalPower -29 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.111/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w LMSSDR -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.lmssdr.conf --rf-config-file $OPENAIR_DIR/sdr/LMSSDR/enb_sodera_highband_20MHz_rx19dB_txfull.ini</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --stop-ue ; sleep 10; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 ppp0 -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=15.0Mbits/sec average=15.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 60 lo -u -c 192.172.0.2 -b 10Mbits/s </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>SoDeRa.ALU_EPC.Bandrich.20MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="017500" > - <class>lte-softmodem</class> - <desc></desc> - <RRH>superserver</RRH> - <UE>stevens</UE> - <EPC>amerique</EPC> - <eNB>hutch</eNB> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf node_function \"NGFI_RCC_IF4p5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf node_timing \"synch_to_ext_device\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf node_synch_ref 0 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -24 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf nb_antenna_ports 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ue_TransmissionMode 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf rrh_gw_config "local_if_name=\"em2\";remote_address=\"00:25:90:f0:f1:2f\";local_address=\"0c:c4:7a:82:95:95\";local_port=50000;remote_port=50000;tr_preference=\"raw_if4p5\";rf_preference=\"usrp_b200\";iq_txshift=4;tx_sample_advance=80;tx_scheduling_advance=9;rrh_gw_active=\"yes\";"</eNB_config_file> - - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w None -t ETHERNET -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>sleep 30; sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <RRH_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf node_function \"NGFI_RRU_IF4p5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf node_timing \"synch_to_ext_device\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf node_synch_ref 0 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -24 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf nb_antenna_ports 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf ue_TransmissionMode 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf rrh_gw_config "local_if_name=\"eth3\";remote_address=\"0c:c4:7a:82:95:95\";local_address=\"00:25:90:f0:f1:2f\";local_port=50000;remote_port=50000;tr_preference=\"raw_if4p5\";rf_preference=\"usrp_b200\";iq_txshift=4;tx_sample_advance=80;tx_scheduling_advance=9;rrh_gw_active=\"yes\";"</RRH_config_file> - <RRH_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</RRH_compile_prog> - <RRH_compile_prog_args>--eNB -w USRP -t ETHERNET -c -x </RRH_compile_prog_args> - <RRH_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</RRH_pre_exec> - <RRH_pre_exec_args></RRH_pre_exec_args> - <RRH_main_exec>sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</RRH_main_exec> - <RRH_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf </RRH_main_exec_args> - <RRH_terminate_missing_procs>False</RRH_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -u -c 192.172.0.1 -b 7Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=5.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.RRH.IF4P5.ALU_EPC.SonyExperiaM4.5MHz.FDD.UDP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - - <testCase id="017501" > - <class>lte-softmodem</class> - <desc></desc> - <RRH>superserver</RRH> - <UE>stevens</UE> - <EPC>amerique</EPC> - <eNB>hutch</eNB> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf node_function \"NGFI_RCC_IF4p5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf node_timing \"synch_to_ext_device\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf node_synch_ref 0 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -27 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf nb_antenna_ports 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ue_TransmissionMode 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf rrh_gw_config "local_if_name=\"em2\";remote_address=\"00:25:90:f0:f1:2f\";local_address=\"0c:c4:7a:82:95:95\";local_port=50000;remote_port=50000;tr_preference=\"raw_if4p5\";rf_preference=\"usrp_b200\";iq_txshift=4;tx_sample_advance=80;tx_scheduling_advance=9;rrh_gw_active=\"yes\";"</eNB_config_file> - - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w None -t ETHERNET -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>sleep 30; sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <RRH_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf node_function \"NGFI_RRU_IF4p5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf node_timing \"synch_to_ext_device\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf node_synch_ref 0 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -27 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf nb_antenna_ports 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf ue_TransmissionMode 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf rrh_gw_config "local_if_name=\"eth3\";remote_address=\"0c:c4:7a:82:95:95\";local_address=\"00:25:90:f0:f1:2f\";local_port=50000;remote_port=50000;tr_preference=\"raw_if4p5\";rf_preference=\"usrp_b200\";iq_txshift=4;tx_sample_advance=80;tx_scheduling_advance=9;rrh_gw_active=\"yes\";"</RRH_config_file> - <RRH_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</RRH_compile_prog> - <RRH_compile_prog_args>--eNB -w USRP -t ETHERNET -c -x </RRH_compile_prog_args> - <RRH_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</RRH_pre_exec> - <RRH_pre_exec_args></RRH_pre_exec_args> - <RRH_main_exec>sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</RRH_main_exec> - <RRH_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf </RRH_main_exec_args> - <RRH_terminate_missing_procs>False</RRH_terminate_missing_procs> - - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -u -c 192.172.0.1 -b 14Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=10.0Mbits/sec average=10.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.RRH.IF4P5.ALU_EPC.SonyExperiaM4.10MHz.FDD.UDP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="017502" > - <class>lte-softmodem</class> - <desc></desc> - <RRH>superserver</RRH> - <UE>stevens</UE> - <EPC>amerique</EPC> - <eNB>hutch</eNB> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf node_function \"NGFI_RCC_IF4p5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf node_timing \"synch_to_ext_device\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf node_synch_ref 0 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -30 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf nb_antenna_ports 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ue_TransmissionMode 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf rrh_gw_config "local_if_name=\"em2\";remote_address=\"00:25:90:f0:f1:2f\";local_address=\"0c:c4:7a:82:95:95\";local_port=50000;remote_port=50000;tr_preference=\"raw_if4p5\";rf_preference=\"usrp_b200\";iq_txshift=4;tx_sample_advance=80;tx_scheduling_advance=9;rrh_gw_active=\"yes\";"</eNB_config_file> - - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w None -t ETHERNET -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>sleep 30; sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <RRH_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf node_function \"NGFI_RRU_IF4p5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf node_timing \"synch_to_ext_device\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf node_synch_ref 0 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -30 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf nb_antenna_ports 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf ue_TransmissionMode 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf rrh_gw_config "local_if_name=\"eth3\";remote_address=\"0c:c4:7a:82:95:95\";local_address=\"00:25:90:f0:f1:2f\";local_port=50000;remote_port=50000;tr_preference=\"raw_if4p5\";rf_preference=\"usrp_b200\";iq_txshift=4;tx_sample_advance=80;tx_scheduling_advance=9;rrh_gw_active=\"yes\";"</RRH_config_file> - <RRH_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</RRH_compile_prog> - <RRH_compile_prog_args>--eNB -w USRP -t ETHERNET -c -x </RRH_compile_prog_args> - <RRH_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</RRH_pre_exec> - <RRH_pre_exec_args></RRH_pre_exec_args> - <RRH_main_exec>sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</RRH_main_exec> - <RRH_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf </RRH_main_exec_args> - <RRH_terminate_missing_procs>False</RRH_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -u -c 192.172.0.1 -b 28Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=5.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.RRH.IF4P5.ALU_EPC.SonyExperiaM4.10MHz.FDD.UDP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="017503" > - <class>lte-softmodem</class> - <desc></desc> - <RRH>superserver</RRH> - <UE>stevens</UE> - <EPC>amerique</EPC> - <eNB>hutch</eNB> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf node_function \"NGFI_RCC_IF4p5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf node_timing \"synch_to_ext_device\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf node_synch_ref 0 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -24 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf nb_antenna_ports 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ue_TransmissionMode 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf rrh_gw_config "local_if_name=\"em2\";remote_address=\"00:25:90:f0:f1:2f\";local_address=\"0c:c4:7a:82:95:95\";local_port=50000;remote_port=50000;tr_preference=\"raw_if4p5\";rf_preference=\"usrp_b200\";iq_txshift=4;tx_sample_advance=80;tx_scheduling_advance=9;rrh_gw_active=\"yes\";"</eNB_config_file> - - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w None -t ETHERNET -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>sleep 30; sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <RRH_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf node_function \"NGFI_RRU_IF4p5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf node_timing \"synch_to_ext_device\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf node_synch_ref 0 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -24 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf nb_antenna_ports 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf ue_TransmissionMode 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf rrh_gw_config "local_if_name=\"eth3\";remote_address=\"0c:c4:7a:82:95:95\";local_address=\"00:25:90:f0:f1:2f\";local_port=50000;remote_port=50000;tr_preference=\"raw_if4p5\";rf_preference=\"usrp_b200\";iq_txshift=4;tx_sample_advance=80;tx_scheduling_advance=9;rrh_gw_active=\"yes\";"</RRH_config_file> - <RRH_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</RRH_compile_prog> - <RRH_compile_prog_args>--eNB -w USRP -t ETHERNET -c -x </RRH_compile_prog_args> - <RRH_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</RRH_pre_exec> - <RRH_pre_exec_args></RRH_pre_exec_args> - <RRH_main_exec>sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</RRH_main_exec> - <RRH_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf </RRH_main_exec_args> - <RRH_terminate_missing_procs>False</RRH_terminate_missing_procs> - - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b 16Mbits/s -i 1 -f m -u</EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.RRH.IF4P5.ALU_EPC.SonyExperiaM4.5MHz.FDD.UDP.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="017504" > - <class>lte-softmodem</class> - <desc></desc> - <RRH>superserver</RRH> - <UE>stevens</UE> - <EPC>amerique</EPC> - <eNB>hutch</eNB> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf node_function \"NGFI_RCC_IF4p5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf node_timing \"synch_to_ext_device\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf node_synch_ref 0 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -27 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf nb_antenna_ports 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ue_TransmissionMode 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf rrh_gw_config "local_if_name=\"em2\";remote_address=\"00:25:90:f0:f1:2f\";local_address=\"0c:c4:7a:82:95:95\";local_port=50000;remote_port=50000;tr_preference=\"raw_if4p5\";rf_preference=\"usrp_b200\";iq_txshift=4;tx_sample_advance=80;tx_scheduling_advance=9;rrh_gw_active=\"yes\";"</eNB_config_file> - - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w None -t ETHERNET -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>sleep 30; sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <RRH_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf node_function \"NGFI_RRU_IF4p5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf node_timing \"synch_to_ext_device\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf node_synch_ref 0 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -27 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf nb_antenna_ports 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf ue_TransmissionMode 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf rrh_gw_config "local_if_name=\"eth3\";remote_address=\"0c:c4:7a:82:95:95\";local_address=\"00:25:90:f0:f1:2f\";local_port=50000;remote_port=50000;tr_preference=\"raw_if4p5\";rf_preference=\"usrp_b200\";iq_txshift=4;tx_sample_advance=80;tx_scheduling_advance=9;rrh_gw_active=\"yes\";"</RRH_config_file> - <RRH_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</RRH_compile_prog> - <RRH_compile_prog_args>--eNB -w USRP -t ETHERNET -c -x </RRH_compile_prog_args> - <RRH_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</RRH_pre_exec> - <RRH_pre_exec_args></RRH_pre_exec_args> - <RRH_main_exec>sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</RRH_main_exec> - <RRH_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf </RRH_main_exec_args> - <RRH_terminate_missing_procs>False</RRH_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b 32Mbits/s -i 1 -f m -u</EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.RRH.IF4P5.ALU_EPC.SonyExperiaM4.5MHz.FDD.UDP.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="017505" > - <class>lte-softmodem</class> - <desc></desc> - <RRH>superserver</RRH> - <UE>stevens</UE> - <EPC>amerique</EPC> - <eNB>hutch</eNB> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf node_function \"NGFI_RCC_IF4p5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf node_timing \"synch_to_ext_device\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf node_synch_ref 0 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -30 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf nb_antenna_ports 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ue_TransmissionMode 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth6\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf rrh_gw_config "local_if_name=\"em2\";remote_address=\"00:25:90:f0:f1:2f\";local_address=\"0c:c4:7a:82:95:95\";local_port=50000;remote_port=50000;tr_preference=\"raw_if4p5\";rf_preference=\"usrp_b200\";iq_txshift=4;tx_sample_advance=80;tx_scheduling_advance=9;rrh_gw_active=\"yes\";"</eNB_config_file> - - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w None -t ETHERNET -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>sleep 30; sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <RRH_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf node_function \"NGFI_RRU_IF4p5\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf node_timing \"synch_to_ext_device\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf node_synch_ref 0 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -30 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf nb_antenna_ports 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf ue_TransmissionMode 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf rrh_gw_config "local_if_name=\"eth3\";remote_address=\"0c:c4:7a:82:95:95\";local_address=\"00:25:90:f0:f1:2f\";local_port=50000;remote_port=50000;tr_preference=\"raw_if4p5\";rf_preference=\"usrp_b200\";iq_txshift=4;tx_sample_advance=80;tx_scheduling_advance=9;rrh_gw_active=\"yes\";"</RRH_config_file> - <RRH_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</RRH_compile_prog> - <RRH_compile_prog_args>--eNB -w USRP -t ETHERNET -c -x </RRH_compile_prog_args> - <RRH_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</RRH_pre_exec> - <RRH_pre_exec_args></RRH_pre_exec_args> - <RRH_main_exec>sudo -E chrt -f 99 $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</RRH_main_exec> - <RRH_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf </RRH_main_exec_args> - <RRH_terminate_missing_procs>False</RRH_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b 60Mbits/s -i 1 -f m -u</EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.RRH.IF4P5.ALU_EPC.SonyExperiaM4.5MHz.FDD.UDP.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="017600"></testCase> - <testCase id="017601"></testCase> - <testCase id="017602"></testCase> - <testCase id="017603"></testCase> - <testCase id="017604"></testCase> - <testCase id="017605"></testCase> - <testCase id="017606"></testCase> - <testCase id="017607"></testCase> - <testCase id="017608"></testCase> - <testCase id="017609"></testCase> - <testCase id="017610"></testCase> - <testCase id="017611"></testCase> - - <testCase id="018600"></testCase> - <testCase id="018601"></testCase> - <testCase id="018602"></testCase> - <testCase id="018603"></testCase> - <testCase id="018604"></testCase> - <testCase id="018605"></testCase> - <testCase id="018606"></testCase> - <testCase id="018607"></testCase> - <testCase id="018608"></testCase> - <testCase id="018609"></testCase> - <testCase id="018610"></testCase> - <testCase id="018611"></testCase> - <testCase id="018612"></testCase> - <testCase id="018613"></testCase> - <testCase id="018614"></testCase> - <testCase id="018615"></testCase> - <testCase id="018616"></testCase> - <testCase id="018617"></testCase> - <testCase id="018618"></testCase> - <testCase id="018619"></testCase> - <testCase id="018620"></testCase> - <testCase id="018621"></testCase> - <testCase id="018622"></testCase> - <testCase id="018623"></testCase> - - <testCase id="025500" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -u -c 192.172.0.1 -b 7Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=5.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.5MHz.FDD.UDP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - - <testCase id="025501" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -u -c 192.172.0.1 -b 14Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=00.0Mbits/sec max=10.0Mbits/sec average=10.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.10MHz.FDD.UDP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025502" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -30 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -u -c 192.172.0.1 -b 28Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.20MHz.FDD.UDP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025503" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b 16Mbits/s -i 1 -f m -u</EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.5MHz.FDD.UDP.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025504" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b 31Mbits/s -i 1 -f m -u </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.10MHz.FDD.UDP.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025505" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -30 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=00.0Mbits/sec max=10.0Mbits/sec average=10.0Mbits/sec</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b 40Mbits/s -i 1 -f m -u </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.20MHz.FDD.UDP.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025506" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -c 192.172.0.1 </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=5.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.5MHz.FDD.TCP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - - <testCase id="025507" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -c 192.172.0.1 </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=00.0Mbits/sec max=10.0Mbits/sec average=10.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.10MHz.FDD.TCP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025508" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -30 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -c 192.172.0.1 </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.20MHz.FDD.TCP.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025509" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -s -i 1 -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.5MHz.FDD.TCP.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025510" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2680000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -E -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -s -i 1 -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.10MHz.FDD.TCP.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025511" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -30 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -s -i 1 -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=00.0Mbits/sec max=10.0Mbits/sec average=10.0Mbits/sec</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.20MHz.TCP.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - -<testCase id="025512" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -u -c 192.172.0.1 -b 7Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=5.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.5MHz.FDD.UDP.Band_7.UL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - - <testCase id="025513" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -u -c 192.172.0.1 -b 14Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=00.0Mbits/sec max=10.0Mbits/sec average=10.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.10MHz.FDD.UDP.Band_7.UL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025514" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf pdsch_referenceSignalPower -30 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf -E </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -u -c 192.172.0.1 -b 14Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.20MHz.FDD.UDP.Band_7.UL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025515" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b 16Mbits/s -i 1 -f m -u</EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.5MHz.FDD.UDP.Band_7.DL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025516" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b 33Mbits/s -i 1 -f m -u </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.10MHz.FDD.UDP.Band_7.DL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025517" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf pdsch_referenceSignalPower -30 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf -E </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -s -i 1 -u -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=00.0Mbits/sec max=10.0Mbits/sec average=10.0Mbits/sec</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b 33M -i 1 -f m -u </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.20MHz.FDD.UDP.Band_7.DL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025518" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -c 192.172.0.1 </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=5.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.5MHz.FDD.TCP.Band_7.UL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - - <testCase id="025519" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -c 192.172.0.1 </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=00.0Mbits/sec max=10.0Mbits/sec average=10.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.10MHz.FDD.TCP.Band_7.UL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025520" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf pdsch_referenceSignalPower -30 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf -E </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -c 192.172.0.1 </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.20MHz.FDD.TCP.Band_7.UL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025521" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -s -i 1 -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=5.0Mbits/sec average=4.0Mbits/sec </UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - <UE_search_expr_false></UE_search_expr_false> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.5MHz.FDD.TCP.Band_7.DL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025522" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -s -i 1 -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=9.0Mbits/sec average=8.5Mbits/sec</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.10MHz.FDD.TCP.Band_7.DL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025523" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>stevens</UE> - <EPC>amerique</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mobile_network_code \"92\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.26\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf pdsch_referenceSignalPower -30 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antenna_ports 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_rx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf nb_antennas_tx 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ue_TransmissionMode 2 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\ - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -x -c </eNB_compile_prog_args> - <eNB_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/run_gdb $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf -E </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog></UE_compile_prog> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue ; $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --start-ue </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script_phone 1 YT9115PX1E -s -i 1 -f m </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=00.0Mbits/sec max=10.0Mbits/sec average=10.0Mbits/sec</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script>sudo -S -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue </UE_stop_script> - - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file></EPC_config_file> - <EPC_compile_prog></EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog></HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> - - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>/opt/ltebox/tools/stop_ltebox ; /opt/ltebox/tools/start_ltebox ; sleep 3000</EPC_main_exec> - <EPC_main_exec_args></EPC_main_exec_args> - <HSS_main_exec>/opt/hss_sim0609/starthss >> /dev/null ; sleep 3000 </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -i 1 -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.ALU_EPC.SonyExperiaM4.20MHz.TCP.FDD.Band_7.DL.2TX.2RX.TM2</tags> - <nruns>10</nruns> - </testCase> - - - <testCase id="025700" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>starsky</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"93\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -26 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -c</eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; ifconfig ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec> $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x </UE_compile_prog> - <UE_branch>develop1B</UE_branch> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; cd $OPENAIR_DIR/cmake_targets/ran_build/build ; sudo -E $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125 </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 oai0 -u -c 192.172.0.1 -b 7Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script> </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>ETC/hss.conf MYSQL_user \"root\" - ETC/hss.conf MYSQL_pass \"linux\" - ETC/hss.conf OPERATOR_key \"1006020f0a478bf6b699f15c062e42b3\" - ETC/mme.conf GUMMEI_LIST "{MCC=\"208\";MNC=\"93\";MME_GID=\"4\";MME_CODE=\"1\";}" - ETC/mme.conf TAI_LIST "{MCC=\"208\";MNC=\"93\";TAC=\"1\";}" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S1_MME \"eth1\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S11_MME \"lo\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S11_MME \"127.0.11.1/8\" - ETC/mme.conf MME_PORT_FOR_S11_MME 2123 - ETC/mme.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/mme.conf OUTPUT \"CONSOLE\" - ETC/mme.conf HSS_HOSTNAME \"nano\" - ETC/mme_fd.conf Identity \"nano.openair4G.eur\" - ETC/mme_fd.conf ConnectPeer nano.openair4G.eur - ETC/hss_fd.conf Identity \"nano.openair4G.eur\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S11 \"lo\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth1\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\" - ETC/spgw.conf SGW_IPV4_PORT_FOR_S1U_S12_S4_UP 2152 - ETC/spgw.conf PGW_INTERFACE_NAME_FOR_SGI \"eth1\" - ETC/spgw.conf PGW_MASQUERADE_SGI \"yes\" - ETC/spgw.conf DEFAULT_DNS_IPV4_ADDRESS \"192.168.12.100\" - ETC/spgw.conf IPV4_LIST \"192.172.0.0/24\" </EPC_config_file> - <EPC_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/acl.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/mme.conf /usr/local/etc/oai/ ; sudo cp -vf $OPENAIRCN_DIR/ETC/mme_fd.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/spgw.conf /usr/local/etc/oai ; $OPENAIRCN_DIR/SCRIPTS/./check_mme_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur ; $OPENAIRCN_DIR/SCRIPTS/build_mme -c ; $OPENAIRCN_DIR/SCRIPTS/build_spgw -c </EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/hss.conf /usr/local/etc/oai ; sudo cp -vf $OPENAIRCN_DIR/ETC/hss_fd.conf /usr/local/etc/oai/freeDiameter ; $OPENAIRCN_DIR/SCRIPTS/check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur; $OPENAIRCN_DIR/SCRIPTS/build_hss -c </HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> -c - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>sleep 10;$OPENAIRCN_DIR/TEST/autotests/tools/run_epc </EPC_main_exec> - <EPC_main_exec_args> </EPC_main_exec_args> - <HSS_main_exec>cp -vf $OPENAIRCN_DIR/ETC/*.conf $OPENAIRCN_TESTDIR/; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.OAI_EPC_remote.OAI_UE.5MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025701" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>starsky</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"93\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -29 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -c</eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; ifconfig ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec> $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x </UE_compile_prog> - <UE_branch>develop1B</UE_branch> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; cd $OPENAIR_DIR/cmake_targets/ran_build/build ; sudo -E $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem -U -C2660000000 -r50 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125 </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 oai0 -u -c 192.172.0.1 -b 14Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script> </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>ETC/hss.conf MYSQL_user \"root\" - ETC/hss.conf MYSQL_pass \"linux\" - ETC/hss.conf OPERATOR_key \"1006020f0a478bf6b699f15c062e42b3\" - ETC/mme.conf GUMMEI_LIST "{MCC=\"208\";MNC=\"93\";MME_GID=\"4\";MME_CODE=\"1\";}" - ETC/mme.conf TAI_LIST "{MCC=\"208\";MNC=\"93\";TAC=\"1\";}" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S1_MME \"eth1\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S11_MME \"lo\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S11_MME \"127.0.11.1/8\" - ETC/mme.conf MME_PORT_FOR_S11_MME 2123 - ETC/mme.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/mme.conf OUTPUT \"CONSOLE\" - ETC/mme.conf HSS_HOSTNAME \"nano\" - ETC/mme_fd.conf Identity \"nano.openair4G.eur\" - ETC/mme_fd.conf ConnectPeer nano.openair4G.eur - ETC/hss_fd.conf Identity \"nano.openair4G.eur\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S11 \"lo\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth1\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\" - ETC/spgw.conf SGW_IPV4_PORT_FOR_S1U_S12_S4_UP 2152 - ETC/spgw.conf PGW_INTERFACE_NAME_FOR_SGI \"eth1\" - ETC/spgw.conf PGW_MASQUERADE_SGI \"yes\" - ETC/spgw.conf DEFAULT_DNS_IPV4_ADDRESS \"192.168.12.100\" - ETC/spgw.conf IPV4_LIST \"192.172.0.0/24\" </EPC_config_file> - <EPC_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/acl.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/mme.conf /usr/local/etc/oai/ ; sudo cp -vf $OPENAIRCN_DIR/ETC/mme_fd.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/spgw.conf /usr/local/etc/oai ; $OPENAIRCN_DIR/SCRIPTS/./check_mme_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur ; $OPENAIRCN_DIR/SCRIPTS/build_mme -c ; $OPENAIRCN_DIR/SCRIPTS/build_spgw -c </EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/hss.conf /usr/local/etc/oai ; sudo cp -vf $OPENAIRCN_DIR/ETC/hss_fd.conf /usr/local/etc/oai/freeDiameter ; $OPENAIRCN_DIR/SCRIPTS/check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur; $OPENAIRCN_DIR/SCRIPTS/build_hss -c </HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> -c - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>sleep 10;$OPENAIRCN_DIR/TEST/autotests/tools/run_epc </EPC_main_exec> - <EPC_main_exec_args> </EPC_main_exec_args> - <HSS_main_exec>cp -vf $OPENAIRCN_DIR/ETC/*.conf $OPENAIRCN_TESTDIR/; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.OAI_EPC_remote.OAI_UE.10MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025702" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>starsky</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"93\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -32 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -c</eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; ifconfig ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec> $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x </UE_compile_prog> - <UE_branch>develop1B</UE_branch> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; cd $OPENAIR_DIR/cmake_targets/ran_build/build ; sudo -E $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem -U -C2660000000 -r100 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125 </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 oai0 -u -c 192.172.0.1 -b 28Mbits/s </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script> </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>ETC/hss.conf MYSQL_user \"root\" - ETC/hss.conf MYSQL_pass \"linux\" - ETC/hss.conf OPERATOR_key \"1006020f0a478bf6b699f15c062e42b3\" - ETC/mme.conf GUMMEI_LIST "{MCC=\"208\";MNC=\"93\";MME_GID=\"4\";MME_CODE=\"1\";}" - ETC/mme.conf TAI_LIST "{MCC=\"208\";MNC=\"93\";TAC=\"1\";}" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S1_MME \"eth1\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S11_MME \"lo\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S11_MME \"127.0.11.1/8\" - ETC/mme.conf MME_PORT_FOR_S11_MME 2123 - ETC/mme.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/mme.conf OUTPUT \"CONSOLE\" - ETC/mme.conf HSS_HOSTNAME \"nano\" - ETC/mme_fd.conf Identity \"nano.openair4G.eur\" - ETC/mme_fd.conf ConnectPeer nano.openair4G.eur - ETC/hss_fd.conf Identity \"nano.openair4G.eur\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S11 \"lo\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth1\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\" - ETC/spgw.conf SGW_IPV4_PORT_FOR_S1U_S12_S4_UP 2152 - ETC/spgw.conf PGW_INTERFACE_NAME_FOR_SGI \"eth1\" - ETC/spgw.conf PGW_MASQUERADE_SGI \"yes\" - ETC/spgw.conf DEFAULT_DNS_IPV4_ADDRESS \"192.168.12.100\" - ETC/spgw.conf IPV4_LIST \"192.172.0.0/24\" </EPC_config_file> - <EPC_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/acl.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/mme.conf /usr/local/etc/oai/ ; sudo cp -vf $OPENAIRCN_DIR/ETC/mme_fd.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/spgw.conf /usr/local/etc/oai ; $OPENAIRCN_DIR/SCRIPTS/./check_mme_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur ; $OPENAIRCN_DIR/SCRIPTS/build_mme -c ; $OPENAIRCN_DIR/SCRIPTS/build_spgw -c </EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/hss.conf /usr/local/etc/oai ; sudo cp -vf $OPENAIRCN_DIR/ETC/hss_fd.conf /usr/local/etc/oai/freeDiameter ; $OPENAIRCN_DIR/SCRIPTS/check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur; $OPENAIRCN_DIR/SCRIPTS/build_hss -c </HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> -c - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>sleep 10;$OPENAIRCN_DIR/TEST/autotests/tools/run_epc </EPC_main_exec> - <EPC_main_exec_args> </EPC_main_exec_args> - <HSS_main_exec>cp -vf $OPENAIRCN_DIR/ETC/*.conf $OPENAIRCN_TESTDIR/; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 5 lo -s -i 1 -u -f m </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true>throughput_test min=0.0Mbits/sec max=1.0Mbits/sec average=1.0Mbits/sec </EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.OAI_EPC_remote.OAI_UE.20MHz.FDD.Band_7.UL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025703" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>starsky</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"93\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 25 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -24 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -c</eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; ifconfig ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec> $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x </UE_compile_prog> - <UE_branch>develop1B</UE_branch> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; cd $OPENAIR_DIR/cmake_targets/ran_build/build ; sudo -E $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125 </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -f m -u </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=1Mbits/sec average=1Mbits/sec</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script> </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>ETC/hss.conf MYSQL_user \"root\" - ETC/hss.conf MYSQL_pass \"linux\" - ETC/hss.conf OPERATOR_key \"1006020f0a478bf6b699f15c062e42b3\" - ETC/mme.conf GUMMEI_LIST "{MCC=\"208\";MNC=\"93\";MME_GID=\"4\";MME_CODE=\"1\";}" - ETC/mme.conf TAI_LIST "{MCC=\"208\";MNC=\"93\";TAC=\"1\";}" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S1_MME \"eth1\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S11_MME \"lo\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S11_MME \"127.0.11.1/8\" - ETC/mme.conf MME_PORT_FOR_S11_MME 2123 - ETC/mme.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/mme.conf OUTPUT \"CONSOLE\" - ETC/mme.conf HSS_HOSTNAME \"nano\" - ETC/mme_fd.conf Identity \"nano.openair4G.eur\" - ETC/mme_fd.conf ConnectPeer nano.openair4G.eur - ETC/hss_fd.conf Identity \"nano.openair4G.eur\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S11 \"lo\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth1\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\" - ETC/spgw.conf SGW_IPV4_PORT_FOR_S1U_S12_S4_UP 2152 - ETC/spgw.conf PGW_INTERFACE_NAME_FOR_SGI \"eth1\" - ETC/spgw.conf PGW_MASQUERADE_SGI \"yes\" - ETC/spgw.conf DEFAULT_DNS_IPV4_ADDRESS \"192.168.12.100\" - ETC/spgw.conf IPV4_LIST \"192.172.0.0/24\" </EPC_config_file> - <EPC_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/acl.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/mme.conf /usr/local/etc/oai/ ; sudo cp -vf $OPENAIRCN_DIR/ETC/mme_fd.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/spgw.conf /usr/local/etc/oai ; $OPENAIRCN_DIR/SCRIPTS/./check_mme_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur ; $OPENAIRCN_DIR/SCRIPTS/build_mme -c ; $OPENAIRCN_DIR/SCRIPTS/build_spgw -c </EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/hss.conf /usr/local/etc/oai ; sudo cp -vf $OPENAIRCN_DIR/ETC/hss_fd.conf /usr/local/etc/oai/freeDiameter ; $OPENAIRCN_DIR/SCRIPTS/check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur; $OPENAIRCN_DIR/SCRIPTS/build_hss -c </HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> -c - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>sleep 10;$OPENAIRCN_DIR/TEST/autotests/tools/run_epc </EPC_main_exec> - <EPC_main_exec_args> </EPC_main_exec_args> - <HSS_main_exec>cp -vf $OPENAIRCN_DIR/ETC/*.conf $OPENAIRCN_TESTDIR/; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b 16M -i 1 -f m -u</EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true></EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.OAI_EPC_remote.OAI_UE.5MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025704" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>starsky</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"93\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 50 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -29 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -c</eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; ifconfig ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec> $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x </UE_compile_prog> - <UE_branch>develop1B</UE_branch> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; cd $OPENAIR_DIR/cmake_targets/ran_build/build ; sudo -E $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem -U -C2660000000 -r50 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125 </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -f m -u </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=1Mbits/sec average=1Mbits/sec</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script> </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - - <EPC_config_file>ETC/hss.conf MYSQL_user \"root\" - ETC/hss.conf MYSQL_pass \"linux\" - ETC/hss.conf OPERATOR_key \"1006020f0a478bf6b699f15c062e42b3\" - ETC/mme.conf GUMMEI_LIST "{MCC=\"208\";MNC=\"93\";MME_GID=\"4\";MME_CODE=\"1\";}" - ETC/mme.conf TAI_LIST "{MCC=\"208\";MNC=\"93\";TAC=\"1\";}" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S1_MME \"eth1\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S11_MME \"lo\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S11_MME \"127.0.11.1/8\" - ETC/mme.conf MME_PORT_FOR_S11_MME 2123 - ETC/mme.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/mme.conf OUTPUT \"CONSOLE\" - ETC/mme.conf HSS_HOSTNAME \"nano\" - ETC/mme_fd.conf Identity \"nano.openair4G.eur\" - ETC/mme_fd.conf ConnectPeer nano.openair4G.eur - ETC/hss_fd.conf Identity \"nano.openair4G.eur\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S11 \"lo\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth1\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\" - ETC/spgw.conf SGW_IPV4_PORT_FOR_S1U_S12_S4_UP 2152 - ETC/spgw.conf PGW_INTERFACE_NAME_FOR_SGI \"eth1\" - ETC/spgw.conf PGW_MASQUERADE_SGI \"yes\" - ETC/spgw.conf DEFAULT_DNS_IPV4_ADDRESS \"192.168.12.100\" - ETC/spgw.conf IPV4_LIST \"192.172.0.0/24\" </EPC_config_file> - <EPC_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/acl.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/mme.conf /usr/local/etc/oai/ ; sudo cp -vf $OPENAIRCN_DIR/ETC/mme_fd.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/spgw.conf /usr/local/etc/oai ; $OPENAIRCN_DIR/SCRIPTS/./check_mme_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur ; $OPENAIRCN_DIR/SCRIPTS/build_mme -c ; $OPENAIRCN_DIR/SCRIPTS/build_spgw -c </EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/hss.conf /usr/local/etc/oai ; sudo cp -vf $OPENAIRCN_DIR/ETC/hss_fd.conf /usr/local/etc/oai/freeDiameter ; $OPENAIRCN_DIR/SCRIPTS/check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur; $OPENAIRCN_DIR/SCRIPTS/build_hss -c </HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> -c - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>sleep 10;$OPENAIRCN_DIR/TEST/autotests/tools/run_epc </EPC_main_exec> - <EPC_main_exec_args> </EPC_main_exec_args> - <HSS_main_exec>cp -vf $OPENAIRCN_DIR/ETC/*.conf $OPENAIRCN_TESTDIR/; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b33M -i 1 -f m -u </EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true></EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.OAI_EPC_remote.OAI_UE.10MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - <testCase id="025705" > - <class>lte-softmodem</class> - <desc></desc> - <eNB>hutch</eNB> - <UE>starsky</UE> - <EPC>nano</EPC> - <TimeOut_cmd>390</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tracking_area_code \"1\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_country_code \"208\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mobile_network_code \"93\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf N_RB_DL 100 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf pdsch_referenceSignalPower -32 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf mme_ip_address "ipv4=\"192.168.12.62\";ipv6=\"192:168:30::17\";active=\"yes\";preference=\"ipv4\";" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf downlink_frequency 2660000000L - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf uplink_frequency_offset -120000000 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf tx_gain 90 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf rx_gain 125 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf frame_type \"FDD\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_rx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf nb_antennas_tx 1 - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1_MME \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_INTERFACE_NAME_FOR_S1U \"eth0\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_IPV4_ADDRESS_FOR_S1U \"192.168.12.19/24\" - targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf ENB_PORT_FOR_S1U 2152</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>--eNB -w USRP -c</eNB_compile_prog_args> - <eNB_pre_exec>sleep 15; $OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash; ifconfig ; cp $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf $OPENAIR_TESTDIR/enb.conf</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec> $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai --eNB --UE -w USRP -c -x </UE_compile_prog> - <UE_branch>develop1B</UE_branch> - <UE_compile_prog_args></UE_compile_prog_args> - <UE_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash ; sudo rmmod nasmesh ; sudo rmmod ue_ip</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 50; cd $OPENAIR_DIR/cmake_targets/ran_build/build ; sudo -E $OPENAIR_DIR/cmake_targets/ran_build/build/lte-softmodem -U -C2660000000 -r100 --ue-scan-carrier --ue-txgain 90 --ue-rxgain 125 </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/iperf_script 1 lo -s -i 1 -f m -u </UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>throughput_test min=0.0Mbits/sec max=1Mbits/sec average=1Mbits/sec</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_stop_script> </UE_stop_script> - - <EPC_working_dir>/tmp</EPC_working_dir> - <EPC_config_file>ETC/hss.conf MYSQL_user \"root\" - ETC/hss.conf MYSQL_pass \"linux\" - ETC/hss.conf OPERATOR_key \"1006020f0a478bf6b699f15c062e42b3\" - ETC/mme.conf GUMMEI_LIST "{MCC=\"208\";MNC=\"93\";MME_GID=\"4\";MME_CODE=\"1\";}" - ETC/mme.conf TAI_LIST "{MCC=\"208\";MNC=\"93\";TAC=\"1\";}" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S1_MME \"eth1\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S1_MME \"192.168.12.62/24\" - ETC/mme.conf MME_INTERFACE_NAME_FOR_S11_MME \"lo\" - ETC/mme.conf MME_IPV4_ADDRESS_FOR_S11_MME \"127.0.11.1/8\" - ETC/mme.conf MME_PORT_FOR_S11_MME 2123 - ETC/mme.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/mme.conf OUTPUT \"CONSOLE\" - ETC/mme.conf HSS_HOSTNAME \"nano\" - ETC/mme_fd.conf Identity \"nano.openair4G.eur\" - ETC/mme_fd.conf ConnectPeer nano.openair4G.eur - ETC/hss_fd.conf Identity \"nano.openair4G.eur\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S11 \"lo\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S11 \"127.0.11.2/8\" - ETC/spgw.conf SGW_INTERFACE_NAME_FOR_S1U_S12_S4_UP \"eth1\" - ETC/spgw.conf SGW_IPV4_ADDRESS_FOR_S1U_S12_S4_UP \"192.168.12.62/24\" - ETC/spgw.conf SGW_IPV4_PORT_FOR_S1U_S12_S4_UP 2152 - ETC/spgw.conf PGW_INTERFACE_NAME_FOR_SGI \"eth1\" - ETC/spgw.conf PGW_MASQUERADE_SGI \"yes\" - ETC/spgw.conf DEFAULT_DNS_IPV4_ADDRESS \"192.168.12.100\" - ETC/spgw.conf IPV4_LIST \"192.172.0.0/24\" </EPC_config_file> - <EPC_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/acl.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/mme.conf /usr/local/etc/oai/ ; sudo cp -vf $OPENAIRCN_DIR/ETC/mme_fd.conf /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/spgw.conf /usr/local/etc/oai ; $OPENAIRCN_DIR/SCRIPTS/./check_mme_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur ; $OPENAIRCN_DIR/SCRIPTS/build_mme -c ; $OPENAIRCN_DIR/SCRIPTS/build_spgw -c </EPC_compile_prog> - <EPC_compile_prog_args></EPC_compile_prog_args> - <HSS_compile_prog>sudo mkdir -p /usr/local/etc/oai/freeDiameter; sudo cp -vf $OPENAIRCN_DIR/ETC/hss.conf /usr/local/etc/oai ; sudo cp -vf $OPENAIRCN_DIR/ETC/hss_fd.conf /usr/local/etc/oai/freeDiameter ; $OPENAIRCN_DIR/SCRIPTS/check_hss_s6a_certificate /usr/local/etc/oai/freeDiameter/ nano.openair4G.eur; $OPENAIRCN_DIR/SCRIPTS/build_hss -c </HSS_compile_prog> - <HSS_compile_prog_args></HSS_compile_prog_args> -c - <EPC_pre_exec>$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash</EPC_pre_exec> - - <EPC_pre_exec_args></EPC_pre_exec_args> - <EPC_main_exec>sleep 10;$OPENAIRCN_DIR/TEST/autotests/tools/run_epc </EPC_main_exec> - <EPC_main_exec_args> </EPC_main_exec_args> - <HSS_main_exec>cp -vf $OPENAIRCN_DIR/ETC/*.conf $OPENAIRCN_TESTDIR/; $OPENAIRCN_DIR/SCRIPTS/run_hss --export-db $OPENAIRCN_TESTDIR/hss_export.db </HSS_main_exec> - <HSS_main_exec_args></HSS_main_exec_args> - <EPC_traffic_exec>$OPENAIRCN_DIR/TEST/autotests/tools/iperf_script 10 192.172.0.2 -c 192.172.0.2 -b55M -i 1 -f m -u</EPC_traffic_exec> - <EPC_traffic_exec_args></EPC_traffic_exec_args> - <EPC_search_expr_true></EPC_search_expr_true> - <EPC_search_expr_false></EPC_search_expr_false> - <EPC_terminate_missing_procs>False</EPC_terminate_missing_procs> - <tags>USRPb210.OAI_EPC_remote.OAI_UE.20MHz.FDD.Band_7.DL.1TX.1RX</tags> - <nruns>10</nruns> - </testCase> - - - </testCaseList> diff --git a/cmake_targets/autotests/testsuite_ue_noS1.xml b/cmake_targets/autotests/testsuite_ue_noS1.xml deleted file mode 100755 index f88244e7ef2a8efa10580fcb5f485f67433827e2..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/testsuite_ue_noS1.xml +++ /dev/null @@ -1,3524 +0,0 @@ -<testCaseList> - -<MachineList>imb182-desktop yanbo-M4HM87P-00</MachineList> <!-- ued-PRM-130 --> - <NFSResultsShare>/mnt/sradio/TEST_RESULTS/</NFSResultsShare> - <GitOAI5GRepo> https://gitlab.eurecom.fr/oai1B/openairinterface5g.git</GitOAI5GRepo> - <!-- <GitOAI5GRepo>https://gitlab.eurecom.fr/oai/openairinterface5g.git</GitOAI5GRepo> --> - <!-- <GitOAI5GRepo>git@gitlab.com:TCL_Communications/openairinterface5g.git</GitOAI5GRepo> --> - <GitOpenair-cnRepo>https://gitlab.eurecom.fr/oai/openair-cn.git</GitOpenair-cnRepo> --> - <GitOAI5GRepoBranch>develop1B</GitOAI5GRepoBranch> - <GitOAI5GHeadVersion>develop1B_integration_w49</GitOAI5GHeadVersion> --> - <!-- <GitOAI5GHeadVersion>425b6fd525d9c4b0b3c2357926bbac5685e4b1e5</GitOAI5GHeadVersion> --> - <!-- <GitOAI5GHeadVersion>23822ea203e00f2100fa41c7ee3084ec55b884fe</GitOAI5GHeadVersion> --> - <GitOAI5GHeadVersion></GitOAI5GHeadVersion> - <OAI5GPatchDir></OAI5GPatchDir> - - <OAI5GPatchFile name="autotest_ue_cell_synch_event.patch"/> - <OAI5GPatchFile name="autotest_ue_dlsch_bitrate_metric.patch"/> - <OAI5GPatchFile name="autotest_ue_offsets_metric.patch"/> - <OAI5GPatchFile name="build_oai.patch"/> - <OAI5GPatchFile name="CmakeLists.patch"/> - - <!-- - <OAI5GPatchFile name="phy_test_dl_harq_reset.patch"/> - <OAI5GPatchFile name="phy_test__target_dl_mcs.patch"/> - <OAI5GPatchFile name="pdcp_fifo_netlink.patch"/> ---> - - <GitOpenair-cnRepoBranch>develop</GitOpenair-cnRepoBranch> - <CleanUpOldProgs>oaisim oaisim_nos1 lte-softmodem lte-softmodem-nos1 mme_gw run_epc auth_request run_hss oai_hss mme spgw hss hss_sim configure_cots* wvdial iperf iperf_script iperf_script_phone ping tshark rrh_gw iperf3 iperf3_script iperf3_script_phone pppd</CleanUpOldProgs> - <CleanUpAluLteBox>sudo -S -E /opt/ltebox/tools/stop_ltebox</CleanUpAluLteBox> -<ExmimoRfStop>$OPENAIR_DIR/cmake_targets/build_oai -w EXMIMO -c; sudo -S -E $OPENAIR_DIR/cmake_targets/tools/stop_exmimo2; sudo -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; sudo -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_huaweiE398_ue.py --reset-ue; sudo -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue; uname -a; sudo -E dmesg</ExmimoRfStop> - <Timeout_execution>36000</Timeout_execution> - <TestCaseExclusionList></TestCaseExclusionList> - <nruns_lte-softmodem></nruns_lte-softmodem> - <MachineListGeneric>yanbo-M4HM87P-00</MachineListGeneric> - - -<!-- USRP Testcases performances 030000 030030 030100 030900 030930 031000 031030 031600 031630 031700 031730 031800 031900 031930 032000 032100 032200 032300 032400 032500 032600 032700 032710 032730 032740 032800 032810 032830 032840 032870 036000 036100 036130 036170 --> - -<!-- USRP Testcases performances 030000 030030 030900 030930 031000 031030 031600 031630 031700 031730 031900 031930 032700 032730 032800 036000 036100 036130 032740 032710 --> - -<!-- Stability 032740 032710 --> - - - <!-- USRP Band 7 5MHz SISO Iperf downlink performances : 030030 030930 031030 031630 031730 031930 032730 032830 --> - - - - -<!-- PHY-TEST DOWNLINK PERFORMANCE --> - - - <testCase id="030000" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 0 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "510"/> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS00</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="030001" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 0 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "510"/> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS00</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="030100" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 1 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "678"/> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS01</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="030101" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 1 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "678"/> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS01</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - - - -<testCase id="030900" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 9 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "3006"/> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS09</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="030901" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 9 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "3006"/> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS09</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<testCase id="031600" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 16 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "3726"/> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS16</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="031601" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 16 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "3726"/> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS16</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<testCase id="031000" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 10 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS10</tags> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "3006"/> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="031001" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 10 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS10</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "3006"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<testCase id="031700" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 17 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS17</tags> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "5802"/> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="031701" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 17 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS17</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "5802"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<testCase id="031800" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 18 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS18</tags> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "5994"/> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="031801" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 18 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS18</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "5994"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<testCase id="031900" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 19 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS19</tags> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "6858"/> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="031901" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 19 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS19</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "6858"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - -<testCase id="032000" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 20 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS20</tags> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "7434"/> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032001" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 20 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS20</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "7434"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032100" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 21 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS21</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "8010"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032101" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 21 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS21</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "8010"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<testCase id="032200" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 22 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS22</tags> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "8586"/> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032201" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 22 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS22</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "8586"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<testCase id="032300" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 23 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS23</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "9432"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032301" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 23 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS23</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "9432"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<testCase id="032400" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 24 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS24</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "10152"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032401" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 24 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS24</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "10152"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - -<testCase id="032500" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 25 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS25</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "10584"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032501" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 25 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS25</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "10584"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<testCase id="032600" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 26 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS26</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "11448"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032601" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 26 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS26</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "11448"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<testCase id="032700" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 27 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS27</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "11880"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032701" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 27 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS27</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "11880"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032801" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 28 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "13752"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - -<testCase id="032710" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>3600</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 27 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_STAB.BAND7.5MHZ.MCS27</tags> - <nruns>1</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "11880"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032711" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 27 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_STAB.BAND7.5MHZ.MCS27</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "11880"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <testCase id="036000" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf -W -m 27 --single-thread-disable --phy-test </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r50 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.10MHZ.MCS27</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "22193"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="036001" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf -W -m 27 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r50 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.10MHZ.MCS27</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "22193"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <testCase id="036100" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf -W -m 28 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r50 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.10MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "25687"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - <testCase id="035201" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf -W -m 19 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r50 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.10MHZ.MCS19</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "12835"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - <testCase id="036130" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf -W -m 28 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 30M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r50 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND7.10MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - - - <testCase id="030031" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 0</eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 512K</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 15 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.DATA_IPERF.BAND7.5MHZ.MCS00</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - <testCase id="030931" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 9 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 15 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.DATA_IPERF.BAND7.5MHZ.MCS09</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - <testCase id="031031" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 10 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 15 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.DATA_IPERF.BAND7.5MHZ.MCS10</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - - - <testCase id="031631" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 16 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 15 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.DATA_IPERF.BAND7.5MHZ.MCS16</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - - <testCase id="031731" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 17 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 15 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.DATA_IPERF.BAND7.5MHZ.MCS17</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - - - - - <testCase id="031931" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 19 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 10M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 15 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.DATA_IPERF.BAND7.5MHZ.MCS19</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - - <testCase id="032740" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>3600</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 27 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>2800</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF_STAB.BAND7.5MHZ.MCS27</tags> - <nruns>1</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <testCase id="032731" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 27 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 15 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.DATA_IPERF.BAND7.5MHZ.MCS27</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <!-- USRP Band 7 5MHz SISO Iperf downlink performances --> - <!-- 030030 030930 031030 031630 031730 031930 032730 032830 --> - - <testCase id="030030" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 0 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 512K</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND7.5MHZ.MCS00</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - <testCase id="030930" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 9 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND7.5MHZ.MCS09</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <testCase id="031030" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 10 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND7.5MHZ.MCS10</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - <testCase id="031630" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 16 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND7.5MHZ.MCS16</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <testCase id="031730" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 17 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND7.5MHZ.MCS17</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <testCase id="031930" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 19 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND7.5MHZ.MCS19</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <testCase id="032730" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1 </eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 27 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 30;iperf -c 10.0.1.9 -i 1 -u -b 15M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 5; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND7.5MHZ.MCS27</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - - - - - - - - - <testCase id="032800" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 28 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "13752"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - </testCase> - - <testCase id="032810" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>18000</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 28 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "11880"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <tags>UE_USRP.NOS1.PHYTEST_STAB.BAND7.5MHZ.MCS28</tags> - <nruns>1</nruns><max_ntries>6</max_ntries> - </testCase> - - - <testCase id="032830" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1 </eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 28 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 30;iperf -c 10.0.1.9 -i 1 -u -b 13700K</eNB_traffic_exec> <!-- PHY max TP 18.336Mbps -> 75% = 13.70Mbps --> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 5; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <UE_traffic_metric - mode="UDP" - duration_min="200" - - /> - <tags>UE_USRP.NOS1.DATA_IPERF_DL.BAND7.5MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - </testCase> - - - <testCase id="032840" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>3600</TimeOut_cmd> - <tags>UE_USRP.NOS1.DATA_IPERF_STAB_DL.BAND7.5MHZ.MCS28</tags> - <nruns>1</nruns><max_ntries>6</max_ntries> - - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 28 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>2800</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - - </testCase> - - - - <testCase id="032870" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1 </eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.usrpb210.conf -W -m 28 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 30;iperf -c 10.0.1.9 -i 1</eNB_traffic_exec> <!-- PHY max TP 18.336Mbps -> 75% = 13.70Mbps --> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 5; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <UE_traffic_metric - mode="TCP" - duration_min="200" - bandwidth_min="13.7" - /> - <tags>UE_USRP.NOS1.DATA_IPERF_TCP_DL.BAND7.5MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - </testCase> - - - <testCase id="036170" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file></eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf -W -m 28 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r50 --ue-scan-carrier --ue-txgain 85 -A 20 --ue-rxgain 125 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF_TCP_DL.BAND7.10MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <UE_traffic_metric - mode="TCP" - duration_min="200" - bandwidth_min="27.5" - /> - </testCase> - - - - - - <!--20 MHz test --> - -<testCase id="039400" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf downlink_frequency 2680000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf -m 28 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2680000000 -r100 --ue-scan-carrier --ue-txgain 85 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "55008"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.20MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - </testCase> - - - <testCase id="036600" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf downlink_frequency 2680000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf -m 0 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2680000000 -r100 --ue-scan-carrier --ue-txgain 85 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "2040"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.20MHZ.MCS0</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - </testCase> - - - <testCase id="038400" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf downlink_frequency 2680000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf -m 18 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2680000000 -r100 --ue-scan-carrier --ue-txgain 85 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "23976"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.20MHZ.MCS18</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - </testCase> - - - - <testCase id="036630" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>700</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf downlink_frequency 2680000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf -m 0</eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2680000000 -r100 --ue-scan-carrier --ue-txgain 85 --ue-rxgain 100 </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>600</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <tags>UE_USRP.NOS1.DATA_IPERF_DL.BAND7.20MHZ.MCS0</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - </testCase> - - - <testCase id="038430" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>700</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf downlink_frequency 2680000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf -m 18</eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 24M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2680000000 -r100 --ue-scan-carrier --ue-txgain 85 --ue-rxgain 100 </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>600</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <tags>UE_USRP.NOS1.DATA_IPERF_DL.BAND7.20MHZ.MCS18</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - </testCase> - - - - <testCase id="039430" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>imb182-desktop</eNB> - <UE>yanbo-M4HM87P-00</UE> - <TimeOut_cmd>700</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf downlink_frequency 2680000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf -m 28</eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 55M</eNB_traffic_exec> <!-- PHY max TP 73.334Mbps -> 75% = 55Mbps --> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2680000000 -r100 --ue-scan-carrier --ue-txgain 85 --ue-rxgain 100 </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>600</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <tags>UE_USRP.NOS1.DATA_IPERF_DL.BAND7.20MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - </testCase> - - - - - </testCaseList> - diff --git a/cmake_targets/autotests/testsuite_ue_noS1_TCL.xml b/cmake_targets/autotests/testsuite_ue_noS1_TCL.xml deleted file mode 100755 index 43aef8c3222f7b14e9695162e6417cde78be9aba..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/testsuite_ue_noS1_TCL.xml +++ /dev/null @@ -1,3812 +0,0 @@ -<testCaseList> - -<MachineList>TCT-Labo1 TCT-Labo3</MachineList> <!-- ued-PRM-130 --> - <NFSResultsShare>/mnt/sradio/TEST_RESULTS/</NFSResultsShare> - <GitOAI5GRepo> https://gitlab.eurecom.fr/oai/openairinterface5g.git</GitOAI5GRepo> - <!-- <GitOAI5GRepo>https://gitlab.eurecom.fr/oai/openairinterface5g.git</GitOAI5GRepo> --> - <!-- <GitOAI5GRepo>git@gitlab.com:TCL_Communications/openairinterface5g.git</GitOAI5GRepo> --> - <GitOpenair-cnRepo>https://gitlab.eurecom.fr/oai/openair-cn.git</GitOpenair-cnRepo> --> - <!--<GitOAI5GRepoBranch>develop_integration_w15</GitOAI5GRepoBranch>--> - <GitOAI5GRepoBranch>develop</GitOAI5GRepoBranch> - <GitOAI5GHeadVersion>develop</GitOAI5GHeadVersion> --> - <!-- <GitOAI5GHeadVersion>425b6fd525d9c4b0b3c2357926bbac5685e4b1e5</GitOAI5GHeadVersion> --> - <!-- <GitOAI5GHeadVersion>23822ea203e00f2100fa41c7ee3084ec55b884fe</GitOAI5GHeadVersion> --> - <!-- <GitOAI5GHeadVersion></GitOAI5GHeadVersion>--> - <!-- <OAI5GPatchDir></OAI5GPatchDir>--> - - <!-- - <OAI5GPatchFile name="phy_test_dl_harq_reset.patch"/> - <OAI5GPatchFile name="phy_test__target_dl_mcs.patch"/> - <OAI5GPatchFile name="pdcp_fifo_netlink.patch"/> ---> - - <GitOpenair-cnRepoBranch>develop</GitOpenair-cnRepoBranch> - <CleanUpOldProgs>oaisim oaisim_nos1 lte-softmodem lte-softmodem-nos1 mme_gw run_epc auth_request run_hss oai_hss mme spgw hss hss_sim configure_cots* wvdial iperf iperf_script iperf_script_phone ping tshark rrh_gw iperf3 iperf3_script iperf3_script_phone pppd</CleanUpOldProgs> - <CleanUpAluLteBox>sudo -S -E /opt/ltebox/tools/stop_ltebox</CleanUpAluLteBox> -<ExmimoRfStop>$OPENAIR_DIR/cmake_targets/build_oai -w EXMIMO -c; sudo -S -E $OPENAIR_DIR/cmake_targets/tools/stop_exmimo2; sudo -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py --reset-ue; sudo -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_huaweiE398_ue.py --reset-ue; sudo -E $OPENAIR_DIR/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py --stop-ue; uname -a; sudo -E dmesg</ExmimoRfStop> - <Timeout_execution>36000</Timeout_execution> - <TestCaseExclusionList></TestCaseExclusionList> - <nruns_lte-softmodem></nruns_lte-softmodem> - <MachineListGeneric>TCT-Labo3</MachineListGeneric> - - -<!-- USRP Testcases performances 030000 030030 030100 030900 030930 031000 031030 031600 031630 031700 031730 031800 031900 031930 032000 032100 032200 032300 032400 032500 032600 032700 032710 032730 032740 032800 032810 032830 032840 032870 036000 036100 036130 036170 --> - -<!-- USRP Testcases performances 030000 030030 030900 030930 031000 031030 031600 031630 031700 031730 031900 031930 032700 032730 032800 036000 036100 036130 032740 032710 --> - -<!-- Stability 032740 032710 --> - - - <!-- USRP Band 7 5MHz SISO Iperf downlink performances : 030030 030930 031030 031630 031730 031930 032730 032830 --> - - - - -<!-- PHY-TEST DOWNLINK PERFORMANCE --> - - - <testCase id="030000" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 0 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "510"/> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS00</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<!-- ending with 3 TDD config3 TCs --> - - <testCase id="030003" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.TDD3SS5.25PRB.usrpb210.conf -W -m 0 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -T -C2350000000 -r25 --ue-scan-carrier --ue-txgain 80 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "300"/> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND40.5MHZ.MCS00</tags> - <nruns>1</nruns><max_ntries>1</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <testCase id="030001" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 0 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "510"/> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS00</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="030100" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 1 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "678"/> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS01</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="030101" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 1 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "678"/> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS01</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - - - -<testCase id="030900" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 9 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "3006"/> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS09</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="030901" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 9 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "3006"/> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS09</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<testCase id="031600" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 16 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "3726"/> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS16</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="031601" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 16 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "3726"/> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS16</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<testCase id="031000" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 10 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS10</tags> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "3006"/> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="031001" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 10 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS10</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "3006"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<testCase id="031700" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 17 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS17</tags> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "5802"/> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="031701" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 17 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS17</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "5802"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<testCase id="031800" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 18 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS18</tags> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "5994"/> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="031801" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 18 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS18</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "5994"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<testCase id="031900" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 19 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS19</tags> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "6858"/> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="031901" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 19 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS19</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "6858"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - -<testCase id="032000" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 20 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS20</tags> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "7434"/> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032001" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 20 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS20</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "7434"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032100" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 21 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS21</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "8010"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032101" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 21 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS21</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "8010"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<testCase id="032200" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 22 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS22</tags> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "8586"/> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032201" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 22 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS22</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "8586"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<testCase id="032300" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 23 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS23</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "9432"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032301" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 23 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS23</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "9432"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<testCase id="032400" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 24 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS24</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "10152"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032401" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 24 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS24</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "10152"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - -<testCase id="032500" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 25 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS25</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "10584"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032501" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 25 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS25</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "10584"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<testCase id="032600" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 26 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS26</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "11448"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032601" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 26 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS26</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "11448"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - -<testCase id="032700" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 27 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS27</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "11880"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032701" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 27 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS27</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "11880"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032801" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 28 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "13752"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - -<testCase id="032710" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>3600</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 27 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_STAB.BAND7.5MHZ.MCS27</tags> - <nruns>1</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "11880"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="032711" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 27 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_STAB.BAND7.5MHZ.MCS27</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "11880"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <testCase id="036000" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf -W -m 27 --single-thread-disable --phy-test </eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2685000000 -r50 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.10MHZ.MCS27</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "22193"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="036001" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf -W -m 27 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2685000000 -r50 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.10MHZ.MCS27</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "22193"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <testCase id="036100" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf -W -m 28 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2685000000 -r50 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.10MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "25687"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - <testCase id="035201" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf -W -m 19 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2685000000 -r50 --ue-scan-carrier --ue-txgain 0 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25 --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.PHYTEST_PERF.BAND7.10MHZ.MCS19</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "12835"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - <testCase id="036130" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf -W -m 28 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 30M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2685000000 -r50 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND7.10MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <testCase id="036133" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1 </eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.TDD3SS5.50PRB.usrpb210.conf -W -m 28 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 30;iperf -c 10.0.1.9 -i 1 -u -b 18M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -T -C2350000000 -r50 --ue-scan-carrier --ue-txgain 80 --ue-rxgain 100 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND40.10MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - - <testCase id="030031" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 0</eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 512K</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 15 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.DATA_IPERF.BAND7.5MHZ.MCS00</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - <testCase id="030931" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 9 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 15 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.DATA_IPERF.BAND7.5MHZ.MCS09</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - <testCase id="031031" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 10 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 15 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.DATA_IPERF.BAND7.5MHZ.MCS10</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - - - <testCase id="031631" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 16 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 15 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.DATA_IPERF.BAND7.5MHZ.MCS16</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - - <testCase id="031731" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 17 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 15 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.DATA_IPERF.BAND7.5MHZ.MCS17</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - - - - - <testCase id="031931" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 19 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 10M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 15 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.DATA_IPERF.BAND7.5MHZ.MCS19</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - - <testCase id="032740" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>3600</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 27 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>2800</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF_STAB.BAND7.5MHZ.MCS27</tags> - <nruns>1</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <testCase id="032731" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>ued-PRM-130</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 27 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w EXMIMO --noS1 --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C 2660000000 -r25 --ue-scan-carrier --ue-txgain 15 --ue-rxgain 5 -S -A 6 -F myriadRF_FMX --ue-max-power -25</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_UEDV1.NOS1.DATA_IPERF.BAND7.5MHZ.MCS27</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <!-- USRP Band 7 5MHz SISO Iperf downlink performances --> - <!-- 030030 030930 031030 031630 031730 031930 032730 032830 --> - - - <testCase id="030003" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 0 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 512K</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND7.5MHZ.MCS00</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <testCase id="030033" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.TDD3SS5.25PRB.usrpb210.conf -W -m 0 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 300K</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -T -C2350000000 -r25 --ue-scan-carrier --ue-txgain 80 --ue-rxgain 100 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND40.5MHZ.MCS00</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <testCase id="030930" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 9 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND7.5MHZ.MCS09</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <testCase id="031030" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 10 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND7.5MHZ.MCS10</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - <testCase id="031630" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 16 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND7.5MHZ.MCS16</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <testCase id="031633" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.TDD3SS5.25PRB.usrpb210.conf -W -m 0 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 1200K</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -T -C2350000000 -r25 --ue-scan-carrier --ue-txgain 80 --ue-rxgain 100 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND40.5MHZ.MCS16</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - <testCase id="031730" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 17 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND7.5MHZ.MCS17</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <testCase id="031930" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 19 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND7.5MHZ.MCS19</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <testCase id="032730" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1 </eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 27 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 30;iperf -c 10.0.1.9 -i 1 -u -b 15M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 5; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND7.5MHZ.MCS27</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - - - - - - - - - - <testCase id="032800" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 28 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "13752"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.5MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - </testCase> - - <testCase id="032810" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>18000</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 28 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "11880"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <tags>UE_USRP.NOS1.PHYTEST_STAB.BAND7.5MHZ.MCS28</tags> - <nruns>1</nruns><max_ntries>6</max_ntries> - </testCase> - - - <testCase id="032830" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1 </eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 28 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 30;iperf -c 10.0.1.9 -i 1 -u -b 13700K</eNB_traffic_exec> <!-- PHY max TP 18.336Mbps -> 75% = 13.70Mbps --> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 5; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <UE_traffic_metric - mode="UDP" - duration_min="200" - - /> - <tags>UE_USRP.NOS1.DATA_IPERF_DL.BAND7.5MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - </testCase> - - - <testCase id="032833" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1 </eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.TDD3SS5.25PRB.usrpb210.conf -W -m 28 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 30;iperf -c 10.0.1.9 -i 1 -u -b 8220K</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -T -C2350000000 -r25 --ue-scan-carrier --ue-txgain 80 --ue-rxgain 100 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND40.5MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - <testCase id="032840" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>3600</TimeOut_cmd> - <tags>UE_USRP.NOS1.DATA_IPERF_STAB_DL.BAND7.5MHZ.MCS28</tags> - <nruns>1</nruns><max_ntries>6</max_ntries> - - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 28 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>2800</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - - </testCase> - - - - <testCase id="032870" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1 </eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.25PRB.usrpb210.conf -W -m 28 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 30;iperf -c 10.0.1.9 -i 1</eNB_traffic_exec> <!-- PHY max TP 18.336Mbps -> 75% = 13.70Mbps --> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 5; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2660000000 -r25 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <UE_traffic_metric - mode="TCP" - duration_min="200" - bandwidth_min="13.7" - /> - <tags>UE_USRP.NOS1.DATA_IPERF_TCP_DL.BAND7.5MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - </testCase> - - - <testCase id="036170" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf downlink_frequency 2660000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf -W -m 28 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 80;iperf -c 10.0.1.9 -i 1</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2685000000 -r50 --ue-scan-carrier --ue-txgain 80 -A 24 --ue-rxgain 100 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF_TCP_DL.BAND7.10MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <UE_traffic_metric - mode="TCP" - duration_min="200" - bandwidth_min="27.5" - /> - </testCase> - - - <!--20 MHz test --> - -<testCase id="039400" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf downlink_frequency 2680000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf -m 28 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2680000000 -r100 --ue-scan-carrier --ue-txgain 80 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "55008"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.20MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - </testCase> - - - - - - <testCase id="036600" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf downlink_frequency 2680000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf -m 0 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2680000000 -r100 --ue-scan-carrier --ue-txgain 80 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "2040"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.20MHZ.MCS0</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - </testCase> - - - <testCase id="038400" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf downlink_frequency 2680000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf -m 18 --single-thread-disable --phy-test</eNB_main_exec_args> - <eNB_traffic_exec></eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2680000000 -r100 --ue-scan-carrier --ue-txgain 80 --ue-rxgain 100 -S --phy-test</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec></UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true></UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps" - pass_fail_stat = "mean_value" - min_limit = "23976"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <tags>UE_USRP.NOS1.PHYTEST_PERF.BAND7.20MHZ.MCS18</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - </testCase> - - - - <testCase id="036630" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>700</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf downlink_frequency 2680000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf -m 0</eNB_main_exec_args> - <eNB_traffic_exec>sleep 60;iperf -c 10.0.1.9 -i 1 -u -b 2M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2680000000 -r100 --ue-scan-carrier --ue-txgain 80 --ue-rxgain 100 </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <tags>UE_USRP.NOS1.DATA_IPERF_DL.BAND7.20MHZ.MCS0</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - </testCase> - - - <testCase id="038430" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>700</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf downlink_frequency 2680000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf -m 18</eNB_main_exec_args> - <eNB_traffic_exec>sleep 60;iperf -c 10.0.1.9 -i 1 -u -b 24M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2680000000 -r100 --ue-scan-carrier --ue-txgain 80 --ue-rxgain 100 </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <tags>UE_USRP.NOS1.DATA_IPERF_DL.BAND7.20MHZ.MCS18</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - </testCase> - - - - <testCase id="039430" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>700</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_config_file>targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf downlink_frequency 2680000000L</eNB_config_file> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1</eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.100PRB.usrpb210.conf -m 28</eNB_main_exec_args> - <eNB_traffic_exec>sleep 60;iperf -c 10.0.1.9 -i 1 -u -b 55M</eNB_traffic_exec> <!-- PHY max TP 73.334Mbps -> 75% = 55Mbps --> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -C2680000000 -r100 --ue-scan-carrier --ue-txgain 80 --ue-rxgain 100 </UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - <tags>UE_USRP.NOS1.DATA_IPERF_DL.BAND7.20MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - </testCase> - - <testCase id="039433" > - <class>lte-softmodem-noS1</class> - <desc></desc> - <eNB>TCT-Labo1</eNB> - <UE>TCT-Labo3</UE> - <TimeOut_cmd>300</TimeOut_cmd> - <eNB_working_dir>/tmp</eNB_working_dir> - <eNB_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</eNB_compile_prog> - <eNB_compile_prog_args>-c -w USRP --eNB --noS1 </eNB_compile_prog_args> - <eNB_pre_exec>source $OPENAIR_DIR/cmake_targets/tools/init_nas_nos1 eNB</eNB_pre_exec> - <eNB_pre_exec_args></eNB_pre_exec_args> - <eNB_main_exec>$OPENAIR_DIR/cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1</eNB_main_exec> - <eNB_main_exec_args> -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band40.tm1.TDD3SS5.100PRB.usrpb210.conf -W -m 28 </eNB_main_exec_args> - <eNB_traffic_exec>sleep 30;iperf -c 10.0.1.9 -i 1 -u -b 33M</eNB_traffic_exec> - <eNB_traffic_exec_args></eNB_traffic_exec_args> - <eNB_search_expr_true></eNB_search_expr_true> - <eNB_search_expr_false></eNB_search_expr_false> - <eNB_terminate_missing_procs>False</eNB_terminate_missing_procs> - - <UE_working_dir>/tmp</UE_working_dir> - <UE_config_file></UE_config_file> - <UE_compile_prog>$OPENAIR_DIR/cmake_targets/build_oai</UE_compile_prog> - <UE_compile_prog_args>-c --UE -w USRP --noS1 --eNB --ue-autotest-trace </UE_compile_prog_args> - <UE_pre_exec>source ./targets/bin/init_nas_nos1 UE</UE_pre_exec> - <UE_pre_exec_args></UE_pre_exec_args> - <UE_main_exec>sleep 20; ./cmake_targets/autotests/tools/run_gdb ./cmake_targets/lte_noS1_build_oai/build/lte-softmodem-nos1 -U -T -C2350000000 -r100 --ue-scan-carrier --ue-txgain 80 --ue-rxgain 100 -S</UE_main_exec> - <UE_main_exec_args></UE_main_exec_args> - <UE_traffic_exec>iperf -s -i 1 -u</UE_traffic_exec> - <UE_traffic_exec_args></UE_traffic_exec_args> - <UE_search_expr_true>200</UE_search_expr_true> - <UE_search_expr_false></UE_search_expr_false> - <UE_terminate_missing_procs>False</UE_terminate_missing_procs> - <tags>UE_USRP.NOS1.DATA_IPERF.BAND40.20MHZ.MCS28</tags> - <nruns>3</nruns><max_ntries>6</max_ntries> - <UE_metric id="UE_DLSCH_BITRATE" - description="UE downlink physical throughput" - regex='(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - unit_of_meas = "kbps"/> - <UE_metric id="UE_FREQ_OFFSET" - description="UE downlink frequency channel offset" - regex='(UE_FREQ_OFFSET) =\s+(-?\d+) Hz.+frame = (\d+)\)' - unit_of_meas = "Hz"/> - <UE_metric id="UE_RX_OFFSET" - description="UE downlink rx sample offset" - regex='(UE_RX_OFFSET) =\s+(-?\d+).+frame = (\d+)\)' - unit_of_meas = ""/> - </testCase> - - - </testCaseList> - diff --git a/cmake_targets/autotests/tools/autotest_analyser.py b/cmake_targets/autotests/tools/autotest_analyser.py deleted file mode 100755 index 61759a15454bd77bc793ad14aaba2093f8e65b17..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/tools/autotest_analyser.py +++ /dev/null @@ -1,174 +0,0 @@ -#! /usr/bin/python -#****************************************************************************** -# -# \file autotest_analyser.py -# -# \par Informations -# - \b Project : UED Autotest Framework -# - \b Software : -# -# \date 16 september 2016 -# -# \version 0.1 -# -# \brief helper to test lib_autotest_analyser.py -# -# \author Benoit ROBERT (benoit.robert@syrtem.com) -# -# \par Statement of Ownership -# COPYRIGHT (c) 2016 BY SYRTEM S.A.R.L -# This software is furnished under license and may be used and copied -# only in accordance with the terms of such license and with the inclusion -# of the above COPYRIGHT notice. This SOFTWARE or any other copies thereof -# may not be provided or otherwise made available to any other person. -# No title to and ownership of the SOFTWARE is hereby transferred. -# -# The information in this SOFTWARE is subject to change without notice -# and should not be constructed as a commitment by SYRTEM. -# SYRTEM assumes no responsibility for the use or reliability of its -# SOFTWARE on equipment or platform not explicitly validated by SYRTEM. -# -# ******************************************************************************* - -import os -import getopt -import sys -from subprocess import call - -import encoder - -sys.path.append(os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/tools/')) - - -#test_cases = ('030001', '030901', '031001', '031601', '031701', '031801', '031901', '032001', '032101', '032201', '032301', '032501', '032601', '032801') -test_cases = ('032800' , '032730' ) - -nb_run = 2 - -def error_opt(msg): - print("Option error: " + msg) - - -def main(args): - try: - analyser = __import__("lib_autotest_analyser") - except ImportError as err: - print('Import error: ' + str(err)) - exit(0) - - - log_path = 'log_save_2016-08-14/log/' - - - - # metric = {} - # metric['id'] = 'UE_DLSCH_BITRATE' - # metric['description'] = 'UE downlink physical throughput' - # metric['regex'] = '(UE_DLSCH_BITRATE) =\s+(\d+\.\d+) kbps.+frame = (\d+)\)' - # metric['unit_of_meas'] = 'kbps' - # metric['min_limit'] = 14668.8 - - -#AUTOTEST Metric : RRC Measurments RSRP[0]=-97.60 dBm/RE, RSSI=-72.83 dBm, RSRQ[0] 9.03 dB, N0 -125 dBm/RE, NF 7.2 dB (frame = 4490) - - metric = {} - metric['id'] = 'UE_DL_RRC_MEAS' - metric['description'] = 'UE downlink RRC Measurments' - metric['nb_metric'] = 5 -# metric['regex'] = 'AUTOTEST Metric : RRC Measurments (RSRP\[0\])=(-?\d+\.?\d*)\s+(.+),\s+(RSRQ\[0\])=(-?\d+\.?\d*)\s+(.+),,\s+(N0)=(-?\d+\.?\d*)\s+(.+),,\s+(NF)=(-?\d+\.?\d*)\s+(.+)\s+\(frame = (\d+)\) ' - metric['regex'] = 'AUTOTEST Metric : RRC Measurments (RSRP\[0\])=(-?\d+\.?\d*)\s+(.+)\,\s+(RSSI)=(-?\d+\.?\d*)\s+(.+)\,\s+(RSRQ\[0\])=(-?\d+\.?\d*)\s+(.+)\,\s+(N0)=(-?\d+\.?\d*)\s+(.+)\,\s+(NF)=(-?\d+\.?\d*)\s+(.+)\s+\(frame = (\d+)\)' - metric['unit_of_meas'] = 'kbps' - metric['min_limit'] = 14668.8 - - - -#report_path = log_path+'/report/' - -#os.system(' mkdir -p ' + report_path) - -#analyser.create_report_html(report_path) - -#return(0) - - test_results = [] - - for test_case in test_cases: - - for i in range(0, nb_run): - fname = '..//log//'+test_case+'/run_'+str(i)+'/UE_exec_'+str(i)+'_.log' - args = {'metric' : metric, - 'file' : fname } - - # cell_synch_status = analyser.check_cell_synchro(fname) - # if cell_synch_status == 'CELL_SYNCH': - # print '!!!!!!!!!!!!!! Cell synchronized !!!!!!!!!!!' - # metric_checks_flag = 0 - # else : - # print '!!!!!!!!!!!!!! Cell NOT NOT synchronized !!!!!!!!!!!' - -# metrics_extracted = analyser.do_extract_metrics_new(args) - - - # de-xmlfy test report - xml_file = '..//log//'+test_case+'/test.'+test_case+'_ng.xml' - print xml_file - - # test_result = - - - # test_results.append(test_result) - - # xmlFile = logdir_local_testcase + '/test.' + testcasename + '.xml' - # xml="\n<testcase classname=\'"+ testcaseclass + "\' name=\'" + testcasename + "."+tags + "\' Run_result=\'" + test_result_string + "\' time=\'" + str(duration) + " s \' RESULT=\'" + testcase_verdict + "\'></testcase> \n" - # write_file(xmlFile, xml, mode="w") - - # xmlFile_ng = logdir_local_testcase + '/test.' + testcasename + '_ng.xml' - # xml_ng = xmlify(test_result, wrap=testcasename, indent=" ") - # write_file(xmlFile_ng, xml_ng, mode="w") - - - - -# print "min = "+ str( metric_extracted['metric_min'] ) -# print "min_index = "+ str( metric_extracted['metric_min_index'] ) -# print "max = "+ str( metric_extracted['metric_max'] ) -# print "max_index = "+ str( metric_extracted['metric_max_index'] ) -# print "mean = "+ str( metric_extracted['metric_mean'] ) -# print "median = "+ str( metric_extracted['metric_median'] ) - -# verdict = analyser.do_check_verdict(metric, metric_extracted) -# print verdict - -# fname= 'report/2016-9-8_toto/'+test_case+'/UE_metric_UE_DLSCH_BITRATE_'+str(i)+'_.png' -# fname= 'report/UE_metric_UE_DLSCH_BITRATE_'+test_case+'_'+str(i)+'.png' - -# print fname -# analyser.do_img_metrics(metric, metric_extracted, fname) - - # fname = 'log//'+test_case+'/run_'+str(i)+'/UE_traffic_'+str(i)+'_.log' - - # args = {'file' : fname } - - # traffic_metrics = analyser.do_extract_traffic_metrics(args) - - # fname= 'report/iperf_'+test_case+'_'+str(i)+'.png' - - # print fname - # analyser.do_img_traffic(traffic_metrics, fname) - - - for test_result in test_results: - cmd = 'mkdir -p ' + report_dir + '/'+ test_result['testcase_name'] - result = os.system(cmd) - - report_file = report_dir + '/'+ test_result['testcase_name'] + '/'+ test_result['testcase_name']+ '_report.html' - - analyser.create_test_report_detailed_html(test_result, report_file ) - - print test_result - - - -if __name__ == "__main__": - main(sys.argv) - diff --git a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py b/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py deleted file mode 100755 index ee4f3f93bc0f058b64a41af7d23ee1b407e87c87..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/tools/configure_cots_bandrich_ue.py +++ /dev/null @@ -1,252 +0,0 @@ -#!/usr/bin/python -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \author Navid Nikaein, Rohit Gupta - -import time -import serial -import os -from socket import AF_INET -from pyroute2 import IPRoute -import sys -import re -import threading -import signal -import traceback -import os -import commands - -# configure the serial connections (the parameters differs on the device you are connecting to) -#First we find an open port to work with -serial_port='' -ser=serial.Serial() -openair_dir = os.environ.get('OPENAIR_DIR') -if openair_dir == None: - print "Error getting OPENAIR_DIR environment variable" - sys.exit(1) - -sys.path.append(os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/tools/')) - -from lib_autotest import * - -def find_open_port(): - global serial_port, ser - max_ports=100 - serial_port='' - while True: - if os.path.exists(serial_port) == True: - return serial_port - for port in range(0,100): - serial_port_tmp = '/dev/ttyUSB'+str(port) - if os.path.exists(serial_port_tmp) == True: - print 'New Serial Port : ' + serial_port_tmp - serial_port = serial_port_tmp - break - if serial_port == '': - print" Not able to detect valid serial ports. Resetting the modem now..." - reset_ue() - else : - ser = serial.Serial(port=serial_port) - return - - -#serial_port = '/dev/ttyUSB2' -bandrich_ppd_config = os.environ.get('OPENAIR_DIR') + '/cmake_targets/autotests/tools/wdial.bandrich.conf' - -exit_flag=0 - -def signal_handler(signal, frame): - print('You pressed Ctrl+C!') - print('Resetting the UE to detached state') - timeout=10 - exit_flag=1 - send_command('AT+CGATT=0' , 'OK' , timeout) - sys.exit(0) - -signal.signal(signal.SIGINT, signal_handler) - - - -#ser.open() -#ser.isOpen() - -class pppThread (threading.Thread): - def __init__(self, threadID, name, counter,port): - threading.Thread.__init__(self) - self.threadID = threadID - self.name = name - self.counter = counter - self.port=port - def run(self): - print "Starting " + self.name - #Here we keep running pppd thread in indefinite loop as this script terminates sometimes - #while 1: - while 1: - time.sleep(5) #Hard coded, do not reduce this number! - print "Starting wvdial now..." - print 'exit_flag = ' + str(exit_flag) - send_command('AT+CGATT=1','OK', 300) - - #Now we do search and replace on wvdial config file - cmd="sed -i \"s%Modem = .*%Modem = " + self.port + "%g\" " + bandrich_ppd_config - os.system(cmd) - os.system('wvdial -C ' + bandrich_ppd_config + '' ) - if exit_flag == 1: - print "Exit flag set to true. Exiting pppThread now" - print "Terminating wvdial now..." - -def send_command (cmd, response, timeout): - count=0 - sleep_duration = 1 - print 'In function: send_command: cmd = <' + cmd + '> response: <' + response + '> \n' - global serial_port, ser - while count <= timeout: - try: - #Sometimes the port does not exist coz of reset in modem. - #In that case, we need to search for this port again - if os.path.exists(serial_port) == False: - find_open_port() - ser.write (cmd + '\r\n') - out = '' - time.sleep(sleep_duration) - count = count + sleep_duration - while ser.inWaiting() > 0: - out += ser.read(1) - print 'out = <' + out + '> response = <' + response + '> \n' - if re.search(response, out): - break - except Exception, e: - error = ' cmd : ' + cmd + ' response : ' + response - error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + traceback.format_exc() - print error - time.sleep(1) - - -def start_ue () : - #print 'Enter your commands below.\r\nInsert "exit" to leave the application.' - global serial_port - timeout=60 #timeout in seconds - send_command('AT', 'OK' , timeout) - send_command('AT+CFUN=1' , 'OK' , timeout) - #send_command('AT+CGATT=0' , 'OK' , timeout) - send_command('AT+CGATT=1','OK', 300) - #os.system('wvdial -C ' + bandrich_ppd_config + ' &' ) - - thread_ppp = pppThread(1, "ppp_thread", 1,port=serial_port) - thread_ppp.start() - - #iface='ppp0' - - while 1: - time.sleep ( 2) - iface='' - #Now we check if ppp0 interface is up and running - try: - if exit_flag == 1: - break - cmd="ifconfig -a | sed 's/[ \t].*//;/^$/d' | grep ppp" - status, out = commands.getstatusoutput(cmd) - iface=out - ip = IPRoute() - idx = ip.link_lookup(ifname=iface)[0] - print "iface = " + iface - print " Setting route now..." - #os.system("status=1; while [ \"$status\" -ne \"0\" ]; do route add -host " + gw + ' ' + iface + " ; status=$? ;sleep 1; echo \"status = $status\" ; sleep 2; done ") - os.system ('route add -host ' + gw + ' ' + iface + ' 2> /dev/null') - #ip.route('add', dst=gw, oif=iface) - - os.system('sleep 5') - #print "Starting ping now..." - os.system ('ping -c 1 ' + gw) - #break - except Exception, e: - error = ' Interface ' + iface + 'does not exist...' - error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + traceback.format_exc() - print error - - thread_ppp.join() - -def stop_ue(): - timeout=60 - os.system('killall wvdial') - send_command('AT', 'OK' , timeout) - send_command('AT+CGATT=0' , 'OK|ERROR' , timeout) - send_command('AT+CFUN=4' , 'OK' , timeout) - - -#reset the USB BUS of Bandrich UE -def reset_ue(): - stringIdBandrich='BandRich, Inc. 4G LTE adapter' - status, out = commands.getstatusoutput('lsusb | grep -i \'' + stringIdBandrich + '\'') - if (out == '') : - print "Bandrich 4G LTE Adapter not found. Exiting now..." - sys.exit() - p=re.compile('Bus\s*(\w+)\s*Device\s*(\w+):\s*ID\s*(\w+):(\w+)') - res=p.findall(out) - BusId=res[0][0] - DeviceId=res[0][1] - VendorId=res[0][2] - ProductId=res[0][3] - usb_dir= find_usb_path(VendorId, ProductId) - print "Bandrich 4G LTE Adapter found in..." + usb_dir - print "Sleeping now for 45 seconds...please wait..." - cmd = "sudo sh -c \"echo 0 > " + usb_dir + "/authorized\"" - os.system(cmd + " ; sleep 15" ) - cmd = "sudo sh -c \"echo 1 > " + usb_dir + "/authorized\"" - os.system(cmd + " ; sleep 30" ) - find_open_port() - stop_ue() - -i=1 -gw='192.172.0.1' -while i < len(sys.argv): - arg=sys.argv[i] - if arg == '--start-ue' : - print "Turning on UE..." - find_open_port() - print 'Using Serial port : ' + serial_port - start_ue() - elif arg == '--stop-ue' : - print "Turning off UE..." - find_open_port() - print 'Using Serial port : ' + serial_port - stop_ue() - elif arg == '--reset-ue' : - print "Resetting UE..." - find_open_port() - reset_ue() - elif arg == '-gw' : - gw = sys.argv[i+1] - i=i+1 - elif arg == '-h' : - print "--reset-ue: Reset the UE on USB Bus. Similar to unplugging and plugging the UE" - print "--stop-ue: Stop the UE. Send DETACH command" - print "--start-ue: Start the UE. Send ATTACH command" - print "-gw: Specify the default gw as sometimes the gateway/route arguments are not set properly via wvdial" - else : - print " Script called with wrong arguments, arg = " + arg - sys.exit() - i = i +1 - - diff --git a/cmake_targets/autotests/tools/configure_cots_huaweiE398_ue.py b/cmake_targets/autotests/tools/configure_cots_huaweiE398_ue.py deleted file mode 100755 index 42e4b2ea9a68a85333ffadd5f0f93bdfa6f2edf1..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/tools/configure_cots_huaweiE398_ue.py +++ /dev/null @@ -1,237 +0,0 @@ -#!/usr/bin/python -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \author Navid Nikaein, Rohit Gupta - -import time -import serial -import os -from pyroute2 import IPRoute -import sys -import re -import threading -import signal -import traceback -import os -import commands - -# configure the serial connections (the parameters differs on the device you are connecting to) -#First we find an open port to work with -serial_port='' -ser=serial.Serial() -openair_dir = os.environ.get('OPENAIR_DIR') -if openair_dir == None: - print "Error getting OPENAIR_DIR environment variable" - sys.exit(1) - -sys.path.append(os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/tools/')) - -from lib_autotest import * - -def find_open_port(): - global serial_port, ser - max_ports=100 - serial_port='' - while True: - if os.path.exists(serial_port) == True: - return serial_port - for port in range(2,100): - serial_port_tmp = '/dev/ttyUSB'+str(port) - if os.path.exists(serial_port_tmp) == True: - print 'New Serial Port : ' + serial_port_tmp - serial_port = serial_port_tmp - break - if serial_port == '': - print" Not able to detect valid serial ports. Resetting the modem now..." - reset_ue() - else : - ser = serial.Serial(port=serial_port) - return - - - - -#serial_port = '/dev/ttyUSB2' -bandrich_ppd_config = os.environ.get('OPENAIR_DIR') + '/cmake_targets/autotests/tools/wdial.bandrich.conf' - -exit_flag=0 - -def signal_handler(signal, frame): - print('You pressed Ctrl+C!') - print('Resetting the UE to detached state') - timeout=10 - exit_flag=1 - send_command('AT+CGATT=0' , 'OK' , timeout) - sys.exit(0) - -signal.signal(signal.SIGINT, signal_handler) - - - -#ser.open() -#ser.isOpen() - -class pppThread (threading.Thread): - def __init__(self, threadID, name, counter): - threading.Thread.__init__(self) - self.threadID = threadID - self.name = name - self.counter = counter - def run(self): - print "Starting " + self.name - #Here we keep running pppd thread in indefinite loop as this script terminates sometimes - #while 1: - while 1: - time.sleep(5) #Hard coded, do not reduce this number! - print "Starting wvdial now..." - print 'exit_flag = ' + str(exit_flag) - send_command('AT+CGATT=1','OK', 300) - os.system('wvdial -C ' + bandrich_ppd_config + '' ) - if exit_flag == 1: - print "Exit flag set to true. Exiting pppThread now" - print "Terminating wvdial now..." - -def send_command (cmd, response, timeout): - count=0 - sleep_duration = 1 - print 'In function: send_command: cmd = <' + cmd + '> response: <' + response + '> \n' - global serial_port, ser - while count <= timeout: - try: - #Sometimes the port does not exist coz of reset in modem. - #In that case, we need to search for this port again - if os.path.exists(serial_port) == False: - find_open_port() - ser.write (cmd + '\r\n') - out = '' - time.sleep(sleep_duration) - count = count + sleep_duration - while ser.inWaiting() > 0: - out += ser.read(1) - print 'out = <' + out + '> response = <' + response + '> \n' - if re.search(response, out): - break - except Exception, e: - error = ' cmd : ' + cmd + ' response : ' + response - error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + traceback.format_exc() - print error - time.sleep(1) - - -def start_ue () : - #print 'Enter your commands below.\r\nInsert "exit" to leave the application.' - timeout=60 #timeout in seconds - send_command('AT', 'OK' , timeout) - #send_command('AT+CFUN=1' , 'OK' , timeout) - #send_command('AT+CGATT=0' , 'OK' , timeout) - send_command('AT+CGATT=1','OK', 300) - #os.system('wvdial -C ' + bandrich_ppd_config + ' &' ) - - thread_ppp = pppThread(1, "ppp_thread", 1) - thread_ppp.start() - - iface='ppp0' - - while 1: - time.sleep ( 2) - #Now we check if ppp0 interface is up and running - try: - if exit_flag == 1: - break - ip = IPRoute() - idx = ip.link_lookup(ifname=iface)[0] - os.system ('route add ' + gw + ' ppp0') - os.system('sleep 5') - os.system ('ping ' + gw) - break - except Exception, e: - error = ' Interface ' + iface + 'does not exist...' - error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + traceback.format_exc() - print error - - thread_ppp.join() - -def stop_ue(): - stringIdBandrich='Huawei Technologies Co., Ltd. E398 LTE/UMTS/GSM Modem/Networkcard' - status, out = commands.getstatusoutput('lsusb | grep -i \'' + stringIdBandrich + '\'') - if (out == '') : - print "Huawei E398 Adapter not found. Exiting now..." - sys.exit() - timeout=60 - os.system('killall wvdial') - send_command('AT', 'OK' , timeout) - send_command('AT+CGATT=0' , 'OK|ERROR' , timeout) - #send_command('AT+CFUN=4' , 'OK' , timeout) - - -#reset the USB BUS of Bandrich UE -def reset_ue(): - stringIdBandrich='Huawei Technologies Co., Ltd. E398 LTE/UMTS/GSM Modem/Networkcard' - status, out = commands.getstatusoutput('lsusb | grep -i \'' + stringIdBandrich + '\'') - if (out == '') : - print "Huawei E398 Adapter not found. Exiting now..." - sys.exit() - p=re.compile('Bus\s*(\w+)\s*Device\s*(\w+):\s*ID\s*(\w+):(\w+)') - res=p.findall(out) - BusId=res[0][0] - DeviceId=res[0][1] - VendorId=res[0][2] - ProductId=res[0][3] - usb_dir= find_usb_path(VendorId, ProductId) - print "Bandrich 4G LTE Adapter found in..." + usb_dir - cmd = "sudo sh -c \"echo 0 > " + usb_dir + "/authorized\"" - os.system(cmd + " ; sleep 15" ) - cmd = "sudo sh -c \"echo 1 > " + usb_dir + "/authorized\"" - os.system(cmd + " ; sleep 30" ) - stop_ue() - -i=1 -gw='192.172.0.1' -while i < len(sys.argv): - arg=sys.argv[i] - if arg == '--start-ue' : - find_open_port() - print 'Using Serial port : ' + serial_port - start_ue() - elif arg == '--stop-ue' : - find_open_port() - print 'Using Serial port : ' + serial_port - stop_ue() - elif arg == '--reset-ue' : - find_open_port() - reset_ue() - elif arg == '-gw' : - gw = sys.argv[i+1] - i=i+1 - elif arg == '-h' : - print "--reset-ue: Reset the UE on USB Bus. Similar to unplugging and plugging the UE" - print "--stop-ue: Stop the UE. Send DETACH command" - print "--start-ue: Start the UE. Send ATTACH command" - print "-gw: Specify the default gw as sometimes the gateway/route arguments are not set properly via wvdial" - else : - print " Script called with wrong arguments, arg = " + arg - sys.exit() - i = i +1 - - diff --git a/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py b/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py deleted file mode 100755 index 8c2c1dd7f209eba509f22dbf75de900be680e4fb..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/tools/configure_cots_sony_experia_m4_ue.py +++ /dev/null @@ -1,143 +0,0 @@ -#!/usr/bin/python -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \author Navid Nikaein, Rohit Gupta - -import time -import serial -import os -from pyroute2 import IPRoute -import sys -import re -import threading -import signal -import traceback -import os -import commands - -# Find a device ID by running sudo adb devices -# The device ID below is for Sony Xperia M4 - -device_id='YT9115PX1E' - - -openair_dir = os.environ.get('OPENAIR_DIR') -if openair_dir == None: - print "Error getting OPENAIR_DIR environment variable" - sys.exit(1) - -sys.path.append(os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/tools/')) - -from lib_autotest import * - -def signal_handler(signal, frame): - print('You pressed Ctrl+C!') - print('Exiting now...') - timeout=10 - exit_flag=1 - sys.exit(0) - -signal.signal(signal.SIGINT, signal_handler) - -# Find all the process IDs in a phone given the name of process -def kill_processes(name): - print " Killing all processes by name..." + name - while 1: - cmd = 'sudo adb -s ' + device_id +' shell "ps |grep ' + name + '"' - status, out = commands.getstatusoutput(cmd) - if status != 0: - print "Error executing command to kill process " + name - print "Error =" + out - sys.exit(1) - print "Out = " + out - if out=='': - break; - out_arr = out.split() - pid_to_kill = out_arr[1] - print "Now killing process ID " + pid_to_kill + " on Phone" - cmd = 'sudo adb -s ' + device_id +' shell "kill -9 ' + pid_to_kill + '"' - status, out = commands.getstatusoutput(cmd) - if status != 0: - print "Error execting command to kill process " + name - sys.exit(1) - print "Out = " + out - -def start_ue () : - #print 'Enter your commands below.\r\nInsert "exit" to leave the application.' - print 'Killing old iperf/ping sessions' - kill_processes('iperf') - kill_processes('iperf3') - kill_processes('ping') - print "Turning off airplane mode" - os.system('sudo -E adb devices') - os.system('sudo -E adb -s ' + device_id + ' shell \"settings put global airplane_mode_on 0; am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false\"') - - while 1: - time.sleep ( 2) - #Now we check if ppp0 interface is up and running - try: - cmd = 'sudo adb -s ' + device_id + ' shell netcfg |grep UP' - status, out = commands.getstatusoutput(cmd) - if (out == '') : - print "Waiting for UE to connect and get IP Address..." - else : - print "UE is now connected. IP Address settings are..." + out - os.system('sleep 5') - os.system ('sudo adb -s ' + device_id + ' shell ping ' + gw) - break - except Exception, e: - error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - error = error + traceback.format_exc() - print error - - - -def stop_ue(): - print "Turning on airplane mode" - os.system('sudo adb devices') - os.system('sudo adb -s ' + device_id + ' shell \"settings put global airplane_mode_on 1; am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true\" ') - print "Killing iperf/ping sessions" - kill_processes('iperf') - kill_processes('iperf3') - kill_processes('ping') - -i=1 -gw='192.172.0.1' -while i < len(sys.argv): - arg=sys.argv[i] - if arg == '--start-ue' : - start_ue() - elif arg == '--stop-ue' : - stop_ue() - elif arg == '-gw' : - gw = sys.argv[i+1] - i=i+1 - elif arg == '-h' : - print "--stop-ue: Stop the UE. Turn on airplane mode" - print "--start-ue: Start the UE. Turn off airplane mode" - print "-gw: Specify the default gw as sometimes the gateway/route arguments are not set properly via wvdial" - else : - print " Script called with wrong arguments, arg = " + arg - sys.exit() - i = i +1 - - diff --git a/cmake_targets/autotests/tools/configure_usrpb210.py b/cmake_targets/autotests/tools/configure_usrpb210.py deleted file mode 100755 index 588bde9d33f548c629384e3fbad8715f45f3341c..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/tools/configure_usrpb210.py +++ /dev/null @@ -1,100 +0,0 @@ -#!/usr/bin/python -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \author Navid Nikaein, Rohit Gupta - -import time -import serial -import os -from pyroute2 import IPRoute -import sys -import re -import threading -import signal -import traceback -import os -import commands - -# configure the serial connections (the parameters differs on the device you are connecting to) -#First we find an open port to work with -serial_port='' -openair_dir = os.environ.get('OPENAIR_DIR') -if openair_dir == None: - print "Error getting OPENAIR_DIR environment variable" - sys.exit(1) - -sys.path.append(os.path.expandvars('$OPENAIR_DIR/cmake_targets/autotests/tools/')) - -from lib_autotest import * - -#Stop the USB BUS of USRPB210 -def stop_usrpb210(): - stringIdBandrich='National Instruments Corp.' - status, out = commands.getstatusoutput('lsusb | grep -i \'' + stringIdBandrich + '\'') - if (out == '') : - print "USRP B210 not found. Exiting now..." - sys.exit() - p=re.compile('Bus\s*(\w+)\s*Device\s*(\w+):\s*ID\s*(\w+):(\w+)') - res=p.findall(out) - BusId=res[0][0] - DeviceId=res[0][1] - VendorId=res[0][2] - ProductId=res[0][3] - usb_dir= find_usb_path(VendorId, ProductId) - print "USRP B210 found in..." + usb_dir - cmd = "sudo sh -c \"echo 0 > " + usb_dir + "/authorized\"" - os.system(cmd) - -#Start the USB bus of USRP B210 -def start_usrpb210(): - stringIdBandrich='National Instruments Corp.' - status, out = commands.getstatusoutput('lsusb | grep -i \'' + stringIdBandrich + '\'') - if (out == '') : - print "USRP B210 not found. Exiting now..." - sys.exit() - p=re.compile('Bus\s*(\w+)\s*Device\s*(\w+):\s*ID\s*(\w+):(\w+)') - res=p.findall(out) - BusId=res[0][0] - DeviceId=res[0][1] - VendorId=res[0][2] - ProductId=res[0][3] - usb_dir= find_usb_path(VendorId, ProductId) - print "USRP B210 found in..." + usb_dir - cmd = "sudo sh -c \"echo 1 > " + usb_dir + "/authorized\"" - os.system(cmd) - -i=1 -while i < len(sys.argv): - arg=sys.argv[i] - if arg == '--start-usrpb210' : - start_usrpb210() - elif arg == '--stop-usrpb210' : - stop_usrpb210() - elif arg == '-h' : - print "--stop-usrpb210: Stop the USRP B210. It cannot be found in uhd_find_devices" - print "--start-usrpb210: Start the USRP B210. It can now be found in uhd_find_devices" - else : - print " Script called with wrong arguments, arg = " + arg - sys.exit() - i = i +1 - - diff --git a/cmake_targets/autotests/tools/free_mem.bash b/cmake_targets/autotests/tools/free_mem.bash deleted file mode 100755 index a5b2b00cb6ffac2a669a14cd4592c1e88f1f3887..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/tools/free_mem.bash +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \author Navid Nikaein, Rohit Gupta - -# To free unused memory else test setup runs out of memory - -mem_threshold=0.2 #If free memory is less than this threshold, then VM drop cache is called -mem_tot=`vmstat -s -S k |grep "total memory" | awk '{print $1}'` -mem_free=`vmstat -s -S k |grep "free memory" | awk '{print $1}'` - -mem_frac=`bc <<< "scale=4;$mem_free/$mem_tot"` -echo $mem_frac -#mem_frac=`bc <<< "scale=4;`echo $mem_free`/`echo $mem_tot`"` -echo "Total Memory = $mem_tot k " -echo "Free Memory = $mem_free k" -echo "Fraction free memory = $mem_frac " - -res=`bc <<< "$mem_frac < 0.2" ` - -echo "Comparison Result = $res" - -if [ "$res" == "1" ] -then - echo "Free memory less than threshold = $mem_threshold" - sudo -E bash -c 'echo 3 > /proc/sys/vm/drop_caches ' -fi - - diff --git a/cmake_targets/autotests/tools/iperf3_script b/cmake_targets/autotests/tools/iperf3_script deleted file mode 100755 index 93aa742bd346a942f671fac3e22a011a5ec487dc..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/tools/iperf3_script +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \author Navid Nikaein, Rohit Gupta - -#arg1 timeout to wait before running the script -#arg2 interface -#arg3 iperf arguments - -args=($*) -timeout=${args[0]} -iface=${args[1]} -iperf3_args=(${args[@]:2}) - -#array=${1:-1} -echo "args = ${args[@]}" -echo "timeout = $timeout" -echo "iface = $iface" -echo "iperf3_args = ${iperf3_args[@]}" - -sleep $timeout - -while true; do var=`ifconfig $iface` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done ; sleep 5 - -iperf3 ${iperf3_args[@]} diff --git a/cmake_targets/autotests/tools/iperf3_script_phone b/cmake_targets/autotests/tools/iperf3_script_phone deleted file mode 100755 index 1d9e9322a17ef30107f6c68d90d48e4ae44557de..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/tools/iperf3_script_phone +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \author Navid Nikaein, Rohit Gupta - -#arg1 timeout to wait before running the script -#arg2 interface -#arg3 iperf3 arguments - -args=($*) -timeout=${args[0]} -device_id=${args[1]} -iperf3_args=(${args[@]:2}) - -#array=${1:-1} -echo "args = ${args[@]}" -echo "timeout = $timeout" -echo "device_id = $device_id" -echo "iperf3_args = ${iperf3_args[@]}" - -sleep $timeout - -while true ; do - cmd=`sudo adb -s $device_id shell netcfg |grep 192.` - if [ -z "$cmd" ]; then - echo "Wating for UE to connect and get IP Address..." - sleep 1 - else - echo "UE is now connected. IP Address settings are... $cmd" - break - fi -done - -echo "Starting iperf3 now..." - -sudo adb -s $device_id shell /data/local/tmp/iperf3 ${iperf3_args[@]} diff --git a/cmake_targets/autotests/tools/iperf_script b/cmake_targets/autotests/tools/iperf_script deleted file mode 100755 index d74462cbcc1af9c547ffc787e586460cb599ddb1..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/tools/iperf_script +++ /dev/null @@ -1,98 +0,0 @@ -#!/bin/bash -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \author Navid Nikaein, Rohit Gupta - -#arg1 timeout to wait before running the script -#arg2 interface -#arg3 iperf arguments - -echo "Start time of script: `date`" - -args=($*) -timeout=${args[0]} -iface=${args[1]} -iperf_args=(${args[@]:2}) - -ip_client=`echo "$iperf_args" | sed -ne 's/.*\-c[ ]*\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\).*/\1/p'` - -#array=${1:-1} -echo "args = ${args[@]}" -echo "timeout = $timeout" -echo "iface = $iface" -echo "iperf_args = ${iperf_args[@]}" -echo "ip_client = $ip_client" - - - -# Test an IP address for validity: -# Usage: -# valid_ip IP_ADDRESS -# if [[ $? -eq 0 ]]; then echo good; else echo bad; fi -# OR -# if valid_ip IP_ADDRESS; then echo good; else echo bad; fi -# -function valid_ip() -{ - local ip=$1 - local stat=1 - - if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then - OIFS=$IFS - IFS='.' - ip=($ip) - IFS=$OIFS - [[ ${ip[0]} -le 255 && ${ip[1]} -le 255 \ - && ${ip[2]} -le 255 && ${ip[3]} -le 255 ]] - stat=$? - fi - return $stat -} - -if valid_ip $iface; then - echo "$iface is Valid IP Address. Checking for connectivity..." - ping -c 1 $iface >& /dev/null - while [ "$?" != "0" ]; do - ping -c 1 $iface >& /dev/null - done - echo "$iface connectivity achieved at `date`, Seconds = $SECONDS" - -else - - echo "Waiting for Interface $iface to come up..." - while true; do var=`ifconfig $iface` ;sleep 1; if [ "$var" != "" ]; then break; fi ; done - echo "$iface is now available at `date` , Seconds = $SECONDS" -fi - - -#if [ -n "$ip_client" ]; then -#echo "Waiting for route to be setup before iperf makes connection..." -# var=`route -n | grep $ip_client` -# if ["$var" != "" ] ; then break; fi -# -#fi - -echo "Sleeping for additional $timeout seconds" -sleep $timeout - -echo "Starting iperf at `date` , Seconds = $SECONDS ...." -iperf ${iperf_args[@]} diff --git a/cmake_targets/autotests/tools/iperf_script_phone b/cmake_targets/autotests/tools/iperf_script_phone deleted file mode 100755 index 29c670f82675f42dd2b91edb6e5f87aa4ff47341..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/tools/iperf_script_phone +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \author Navid Nikaein, Rohit Gupta - -#arg1 timeout to wait before running the script -#arg2 interface -#arg3 iperf arguments - -args=($*) -timeout=${args[0]} -device_id=${args[1]} -iperf_args=(${args[@]:2}) - -#array=${1:-1} -echo "args = ${args[@]}" -echo "timeout = $timeout" -echo "device_id = $device_id" -echo "iperf_args = ${iperf_args[@]}" - -sleep $timeout - -while true ; do - cmd=`sudo adb -s $device_id shell netcfg |grep 192.` - if [ -z "$cmd" ]; then - echo "Wating for UE to connect and get IP Address..." - sleep 1 - else - echo "UE is now connected. IP Address settings are... $cmd" - break - fi -done - -echo "Starting iperf now..." - -sudo adb -s $device_id shell /data/local/tmp/iperf ${iperf_args[@]} diff --git a/cmake_targets/autotests/tools/lib_autotest.py b/cmake_targets/autotests/tools/lib_autotest.py deleted file mode 100755 index 54be808e1dd9894de5c907e04ca39c1eff9abca5..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/tools/lib_autotest.py +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/python -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \author Navid Nikaein, Rohit Gupta - -import os -from pyroute2 import IPRoute -import sys -import re -import threading -import signal -import traceback -import commands - -def read_file(filename): - try: - file = open(filename, 'r') - return file.read() - except Exception, e: - # WE just ignore the exception as some files are probably not present - #error = ' Filename ' + filename - #error = error + ' In function: ' + sys._getframe().f_code.co_name + ': *** Caught exception: ' + str(e.__class__) + " : " + str( e) - #error = error + traceback.format_exc() - #print error - return '' - -def find_usb_path(idVendor, idProduct): - for root, dirs, files in os.walk("/sys/bus/usb/devices", topdown=False): - for name in dirs: - tmpdir= os.path.join(root, name) - tmpidVendor = read_file(tmpdir+'/idVendor').replace("\n","") - tmpidProduct = read_file(tmpdir+'/idProduct').replace("\n","") - if tmpidVendor == idVendor and tmpidProduct == idProduct: - return tmpdir - return '' - diff --git a/cmake_targets/autotests/tools/lib_autotest_analyser.py b/cmake_targets/autotests/tools/lib_autotest_analyser.py deleted file mode 100755 index 333bbd656e3b2542460b7d72d4ce6892f13cf06a..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/tools/lib_autotest_analyser.py +++ /dev/null @@ -1,544 +0,0 @@ -#****************************************************************************** -# -# \file lib_autotest_analyser.py -# -# \par Informations -# - \b Project : UED Autotest Framework -# - \b Software : -# -# \date 16 september 2016 -# -# \version 0.1 -# -# \brief library to extract metrics from autotest logs and assign a verdict -# -# \author Benoit ROBERT (benoit.robert@syrtem.com) -# -# \par Statement of Ownership -# COPYRIGHT (c) 2016 BY SYRTEM S.A.R.L -# This software is furnished under license and may be used and copied -# only in accordance with the terms of such license and with the inclusion -# of the above COPYRIGHT notice. This SOFTWARE or any other copies thereof -# may not be provided or otherwise made available to any other person. -# No title to and ownership of the SOFTWARE is hereby transferred. -# -# The information in this SOFTWARE is subject to change without notice -# and should not be constructed as a commitment by SYRTEM. -# SYRTEM assumes no responsibility for the use or reliability of its -# SOFTWARE on equipment or platform not explicitly validated by SYRTEM. -# -# ******************************************************************************* - - -import re -from pylab import * -from matplotlib.font_manager import FontProperties - -import os -from jinja2 import Environment, FileSystemLoader - - -PATH = os.path.dirname(os.path.abspath(__file__)) -TEMPLATE_ENVIRONMENT = Environment( - autoescape=False, - loader=FileSystemLoader(os.path.join(PATH, '../templates')), - trim_blocks=False) - - -def render_template(template_filename, context): - return TEMPLATE_ENVIRONMENT.get_template(template_filename).render(context) - - - -def init(args = None): - return - - -# -# -# -def do_extract_metrics(args): - -# print "" -# print "do_extract_metrics ... " - - fname = args['file'] - metric = args['metric'] -# print(fname) -# print 'metric id = ' + metric['id'] -# print 'metric regex = ' + metric['regex'] - - count = 0 - mmin = 0 - mmin_index = 0 - mmax = 0 - mmax_index = 0 - mean = 0 - median = 0 - - - output = np.fromregex(fname,metric['regex'], [('id', 'S20'), ('metric', np.float), ('frame', np.int)] ) -# print 'T0T0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!' -# print output - count = output['metric'].size -# print count - if count > 0: - mmin = np.amin(output['metric']); - mmin_index = np.argmin(output['metric']); - mmax = np.amax(output['metric']); - mmax_index = np.argmax(output['metric']); - mean = np.mean(output['metric']); - median = np.median(output['metric']); - -# print ( ( (metric['min_limit'] > output['metric']).sum() / float(output['metric'].size) ) * 100 ) - - ret = { 'metric_count' : count, - 'metric_buf' : output, - 'metric_min' : mmin, - 'metric_min_index' : mmin_index, - 'metric_max' : mmax, - 'metric_max_index' : mmax_index, - 'metric_mean' : mean, - 'metric_median' : median, - } - return(ret) - - -def do_extract_metrics_new(args): - -# print "" -# print "do_extract_metrics ... " - - fname = args['file'] - metric = args['metric'] - print(fname) - print 'metric id = ' + metric['id'] - print 'metric regex = ' + metric['regex'] - - - - count = 0 - mmin = 0 - mmin_index = 0 - mmax = 0 - mmax_index = 0 - mean = 0 - median = 0 - - toto = [('id', 'S20'), ('metric', np.float), ('frame', np.int)] - print toto - - - np_format = [] - - for x in range(0, metric['nb_metric']): - np_format.append( ('id'+str(x), 'S20') ) - np_format.append( ('metric'+str(x), np.float) ) - np_format.append( ('uom'+str(x), 'S20') ) - np_format.append( ('frame', np.int)) - - print np_format - - output = np.fromregex(fname,metric['regex'], np_format) - print output - count = output['frame'].size - print count - if count > 0: - - - fontP = FontProperties() - fontP.set_size('small') - - fig = plt.figure(1) - plt.figure(figsize=(10,10)) - - plot_xmax = np.amax(output['frame'])+np.amin(output['frame']) - - for x in range(0, metric['nb_metric']): - - metric_name = output['id'+str(x)][0] - metric_uom = output['uom'+str(x)][0] - - mmin = np.amin(output['metric'+str(x)]) - mmax = np.amax(output['metric'+str(x)]) - mmean = np.mean(output['metric'+str(x)]) - mmedian = np.median(output['metric'+str(x)]) - - plot_loc = 100*metric['nb_metric']+10+x+1 - - sbplt = plt.subplot(plot_loc) - sbplt.plot(output['frame'], output['metric'+str(x)], color='b' ) - sbplt.set_title( metric_name+' ('+metric_uom+')') - if mmin < 0: - sbplot_ymin=mmin+mmin/10 - else: - sbplot_ymin=0 - sbplt.set_ylim(ymin=sbplot_ymin) - if mmax > 0: - sbplot_ymax=mmax+mmax/10 - else: - sbplot_ymax=0 - sbplt.set_ylim(ymax=sbplot_ymax) - - sbplt.set_xlim(xmax=plot_xmax) - sbplt.set_xlim(xmin=0) - text='min: '+str(mmin)+'\nmax: '+str(mmax)+'\nmean: '+str(mmean)+'\nmedian: '+str(mmedian) - sbplt.text( plot_xmax+10,sbplot_ymin,text) - sbplt.set_xlabel('frame') - sbplt.set_ylabel(metric_name) - - plt.tight_layout() - - fname = "toto.png" - -# lgd = plt.legend(prop=fontP, bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.) - mng = plt.get_current_fig_manager() - plt.savefig(fname, bbox_inches='tight') - plt.close() - - - - - - - - - - mmin = np.amin(output['metric']); - mmin_index = np.argmin(output['metric']); - mmax = np.amax(output['metric']); - mmax_index = np.argmax(output['metric']); - mean = np.mean(output['metric']); - median = np.median(output['metric']); - -# print ( ( (metric['min_limit'] > output['metric']).sum() / float(output['metric'].size) ) * 100 ) - - ret = { 'metric_count' : count, - 'metric_buf' : output, - - - 'metric_min' : mmin, - 'metric_min_index' : mmin_index, - 'metric_max' : mmax, - 'metric_max_index' : mmax_index, - 'metric_mean' : mean, - 'metric_median' : median, - } - return(ret) - -# -# -# -def do_check_verdict(metric_def, metric_data): - verdict = 'INCON' - - pass_fail_stat = metric_def['pass_fail_stat'] - - if pass_fail_stat == 'max_value': - metric_stat = metric_data['metric_max'] - elif pass_fail_stat == 'min_value': - metric_stat = metric_data['metric_min'] - elif pass_fail_stat == 'mean_value': - metric_stat = metric_data['metric_mean'] - elif pass_fail_stat == 'median_value': - metric_stat = metric_data['metric_median'] - else : - print "do_check_verdict -> undef metric stat (pass_fail_stat in xml file)" - return verdict - - if 'max_limit' in metric_def: - if metric_stat > metric_def['max_limit']: - verdict = 'FAIL' - else: - verdict = 'PASS' - - if 'min_limit' in metric_def: - if metric_stat < metric_def['min_limit']: - verdict = 'FAIL' - else: - verdict = 'PASS' - return verdict - - -def do_print_metrics(metric_def, metric_data): - - - if metric_data['metric_count'] > 0 : - -# output = np.array( metric_data['metric_buf'] , [('id', 'S20'), ('metric', np.float), ('frame', np.int)]) - output = metric_data['metric_buf'] -# print output - - fontP = FontProperties() - fontP.set_size('small') - - plt.scatter(output['frame'], output['metric'], color='b', alpha=0.33, s = 1 ) - plt.plot([0, output['frame'][metric_data['metric_count']-1]],[ metric_def['min_limit'],metric_def['min_limit']], 'r-', lw=2) # Red straight line - - plt.title('Physical throughput ') - plt.xlabel('frame') - plt.ylabel(metric_def['id']) - plt.legend(prop=fontP) - mng = plt.get_current_fig_manager() - plt.show() - -def do_img_metrics(metric_def, metric_data, fname): - - - if metric_data['metric_count'] > 0 : - -# output = np.array( metric_data['metric_buf'] , [('id', 'S20'), ('metric', np.float), ('frame', np.int)]) - output = metric_data['metric_buf'] -# print 'TITI !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!' -# print output - -# print metric_def['min_limit'] -# print metric_data['metric_count'] -# print output['frame'][metric_data['metric_count']-1] - - fontP = FontProperties() - fontP.set_size('small') - - plt.figure() - -# print output['frame'].size -# print output['metric'].size - - plt.scatter(output['frame'], output['metric'], color='b', alpha=0.33, s = 1 , label=metric_def['id']) - - if 'min_limit' in metric_def: - plt.plot([0, output['frame'][metric_data['metric_count']-1]],[ metric_def['min_limit'],metric_def['min_limit']], 'r-', lw=2, label='min limit') # Red straight line - - plt.title(metric_def['id'] +' ('+metric_def['unit_of_meas']+')') - plt.xlabel('frame') - plt.ylabel(metric_def['id']) - - # Set graphic minimum Y axis - # ------------------------- - if metric_data['metric_min'] < 0: - plt.ylim(ymin=metric_data['metric_min']+metric_data['metric_min']/10) - else : - plt.ylim(ymin=0) - - y_axis_max = 0 - if 'min_limit' in metric_def: - if metric_data['metric_max'] > metric_def['min_limit']: - y_axis_max =metric_data['metric_max']+metric_data['metric_max']/10 - else: - y_axis_max =metric_def['min_limit']+metric_def['min_limit']/10 - else: - y_axis_max =metric_data['metric_max']+metric_data['metric_max']/10 - - - plt.ylim(ymax=y_axis_max) - - lgd = plt.legend(prop=fontP, bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.) - mng = plt.get_current_fig_manager() - plt.savefig(fname, bbox_extra_artists=(lgd,), bbox_inches='tight') - plt.close() - -# with open(fname, 'r') as f: -# for line in f: -# m = re.search(metric['regex'], line) -# if m : -# print m.group(1) + " -> "+m.group(2) - - - - -def do_extract_traffic_metrics(args): - - fname = args['file'] - -# print(fname) -# print 'metric id = ' + metric['id'] - -#[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams -#[ 3] 0.0- 1.0 sec 238 KBytes 1.95 Mbits/sec 0.980 ms 2/ 174 (1.1%) -# [ 3] 0.0- 1.0 sec 63.2 KBytes 517 Kbits/sec 0.146 ms 1/ 45 (2.2%) - -# iperf_regex = '[\s*(\d+)]\s+\d+\.\d+-\s*(\d+\.\d+)\s+sec\s+(\d+).+(\d+\.\d+).+(\d+\.\d+).+(\d+)\/\s*(\d+)\s+\((\d+\.\d+)\%\)' - # ID 0.0 1.0 63.2 KByte 517 Kbits/s 0.146 - iperf_regex = '\[\s*(\d+)\]\s+(\d+\.*\d*)-\s*(\d+\.*\d*)\s+sec\s+(\d+\.*\d*)\s+(\D+)\s+(\d+\.*\d*)\s+(\D+)\s+(\d+\.*\d*)\s+ms\s+(\d+)\/\s*(\d+)\s+\((\d+\.*\d*)\%\)' -# print 'iperf regex = ' + iperf_regex - - count = 0 - bw_min = 0 - bw_max = 0 - bw_mean = 0 - bw_median = 0 - jitter_min = 0 - jitter_max = 0 - jitter_mean = 0 - jitter_median = 0 - - rl_min = 0 - rl_max = 0 - rl_mean = 0 - rl_median = 0 - - interval_stop_max = 0 - - output = np.fromregex(fname,iperf_regex, [('id', np.int) , ('interval_start', np.float), ('interval_stop', np.float), ('transfer', np.float), ('transfer_uom', 'S20') ,('bandwidth', np.float), ('bandwidth_uom', 'S20') ,('jitter', np.float), ('lost', np.int) , ('total', np.int), ('rate_lost', np.float) ] ) - - count = output['id'].size -1 - # remove last line that is an iperf result resume - - if count > 0: - - output= np.delete(output, (count), axis=0 ) -# print output - - bw_min = np.amin(output['bandwidth']); - bw_max = np.amax(output['bandwidth']); - bw_mean = np.mean(output['bandwidth']); - bw_median = np.median(output['bandwidth']); - - jitter_min = np.amin(output['jitter']); - jitter_max = np.amax(output['jitter']); - jitter_mean = np.mean(output['jitter']); - jitter_median = np.median(output['jitter']); - - rl_min = np.amin(output['rate_lost']); - rl_max = np.amax(output['rate_lost']); - rl_mean = np.mean(output['rate_lost']); - rl_median = np.median(output['rate_lost']); - - interval_stop_max = np.amax(output['interval_stop']); - - else : - count = 0 - - - ret = { 'traffic_count' : count, - 'traffic_buf' : output, - 'bw_min' : bw_min, - 'bw_max' : bw_max, - 'bw_mean' : bw_mean, - 'bw_median' : bw_median, - 'jitter_min' : jitter_min, - 'jitter_max' : jitter_max, - 'jitter_mean' : jitter_mean, - 'jitter_median' : jitter_median, - 'rl_min' : rl_min, - 'rl_max' : rl_max, - 'rl_mean' : rl_mean, - 'rl_median' : rl_median, - 'interval_stop_max' : interval_stop_max - } - return(ret) - - - - -def do_img_traffic(traffic_data, fname): - - - if traffic_data['traffic_count'] > 0 : - - output = traffic_data['traffic_buf'] - - - fontP = FontProperties() - fontP.set_size('small') - - fig = plt.figure(1) - - ax1= plt.subplot(311) - plt.plot(output['interval_stop'], output['bandwidth'], color='b' ) - ax1.set_title('Bandwidth (Mbits/s)') - ax1.set_ylim(ymin=-1) - ax1.set_xlim(xmax=np.amax(output['interval_stop'])) - text='min: '+str(traffic_data['bw_min'])+'\nmax: '+str(traffic_data['bw_max'])+'\nmean: '+str(traffic_data['bw_mean'])+'\nmedian: '+str(traffic_data['bw_median']) - ax1.text( np.amax(output['interval_stop'])+10,0,text) - ax1.set_xlabel('time (s)') - ax1.set_ylabel(' ') - - ax2=plt.subplot(312) - plt.plot(output['interval_stop'], output['jitter'], color='b' ) - ax2.set_title('Jitter (ms)') - ax2.set_xlim(xmax=np.amax(output['interval_stop'])) - ax2.set_ylim(ymin=-1) - text='min: '+str(traffic_data['jitter_min'])+'\nmax: '+str(traffic_data['jitter_max'])+'\nmean: '+str(traffic_data['jitter_mean'])+'\nmedian: '+str(traffic_data['jitter_median']) - ax2.text( np.amax(output['interval_stop'])+10,0,text) - ax2.set_xlabel('time (s)') - ax2.set_ylabel(' ') - - ax3=plt.subplot(313) - plt.plot(output['interval_stop'], output['rate_lost'], color='b') - ax3.set_title('Loss rate %') - ax3.set_xlim(xmax=np.amax(output['interval_stop'])) - ax3.set_ylim(ymin=-1) - text='min: '+str(traffic_data['rl_min'])+'\nmax: '+str(traffic_data['rl_max'])+'\nmean: '+str(traffic_data['rl_mean'])+'\nmedian: '+str(traffic_data['rl_median']) - ax3.text( np.amax(output['interval_stop'])+10,0,text) - ax3.set_xlabel('time (s)') - ax3.set_ylabel(' ') - -# plt.title('Physical throughput ('+metric_def['unit_of_meas']+')') -# plt.xlabel('time (s)') -# plt.ylabel(metric_def['id']) - - # Set graphic minimum Y axis - # ------------------------- -# if traffic_data['bw_min'] == 0 : -# plt.ylim(ymin=-metric_def['min_limit']/10) -# else : -# plt.ylim(ymin=0) - -# y_axis_max = 0 -# if traffic_data['metric_max'] > metric_def['min_limit']: -# y_axis_max =traffic_data['metric_max']+traffic_data['metric_max']/10 -# else: -# y_axis_max =metric_def['min_limit']+metric_def['min_limit']/10 -# -# plt.ylim(ymax=y_axis_max) - - plt.tight_layout() - -# lgd = plt.legend(prop=fontP, bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.) - mng = plt.get_current_fig_manager() - plt.savefig(fname, bbox_inches='tight') - plt.close() - - - - -def create_report_html(context): - fname = context['report_path']+"/index.html" - - # - with open(fname, 'w') as f: - html = render_template('index.html', context) - f.write(html) - - -def create_test_report_detailed_html(context, fname ): - with open(fname, 'w') as f: - html = render_template('testcase_report.html', context) - f.write(html) - - -def check_cell_synchro(fname): - - with open(fname, 'r') as f: - for line in f: - - m = re.search('AUTOTEST Cell Sync \:', line) - if m : - #print line - return 'CELL_SYNCH' - - return 'CELL_NOT_SYNCH' - - -def check_exec_seg_fault(fname): - - with open(fname, 'r') as f: - for line in f: - m = re.search('Segmentation fault', line) - if m : - #print line - return 'SEG_FAULT' - - return 'NO_SEG_FAULT' - diff --git a/cmake_targets/autotests/tools/remove_old_programs.bash b/cmake_targets/autotests/tools/remove_old_programs.bash deleted file mode 100755 index c5c26e3752c1bcdc2208cf7ab5db22bba8fe2a48..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/tools/remove_old_programs.bash +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash - -#$1 programs to be killed and checked -echo "removing old programs..." -echo "args = $1" -echo "script name = $0" -filename=$(basename "$0") -echo "filename = $filename" -echo "programs to be killed...$1" - -echo "bash PID = $$" -pid="$$" -echo "pid = $pid" - -echo "Killing programs now..." - -ps -aux |grep -E -i -w "$1" - -var=`ps -aux |grep -E -i -w "$1" |awk '{print $2}'| tr '\n' ' ' | sed "s/$pid/ /"` -echo "Killing processes...$var" -#var=`ps -aux |grep -E -i '$1' |awk '{print $2}'| tr '\n' ' ' | sed "s/$pid/ /"` -#echo $var -if [ -n "$var" ] ; then sudo kill -9 $var ; fi - -#| sudo xargs kill -9 - -echo "checking for old programs..." -var=`ps -aux |grep -E -i -w '$1' |grep -Ev 'grep' | grep -Ev '$filename'` - -echo $var -if [ -n "$var" ]; then echo 'Match found'; else echo 'Match not found' ;fi - diff --git a/cmake_targets/autotests/tools/run_gdb b/cmake_targets/autotests/tools/run_gdb deleted file mode 100755 index ace8e7a2965a85df7781a72643697addea4f7ff0..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/tools/run_gdb +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/bash -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \author Navid Nikaein, Rohit Gupta - - -#arg0 -> Name of executable -#args[1...N] -> arguments to be passed to executable -if [ -z "$OPENAIR_DIR" ] -then - echo "OPENAIR_DIR environment not set. Exiting.." - exit -fi - -source $OPENAIR_DIR/cmake_targets/tools/build_helper - -args=($*) -exec_name=${args[0]} -exe_args=(${args[@]:1}) -gdb_file=$OPENAIR_DIR/targets/bin/gdb_file -gdb_log=$OPENAIR_DIR/targets/bin/gdb_log.bt - -echo "args = ${args[@]}" -echo "exec_name = $exec_name" -echo "exe_args = ${exe_args[@]}" -echo "gdb log file = $gdb_log" - -$SUDO rm -fr $gdb_file $gdb_log -$SUDO touch $gdb_file $gdb_log -$SUDO chmod 777 $gdb_file $gdb_log - -$SUDO echo "file $exec_name" >> $gdb_file -$SUDO echo "set args ${exe_args[@]}" >> $gdb_file -$SUDO echo "run" >> $gdb_file -$SUDO echo "set logging overwrite on" >> $gdb_file -$SUDO echo "set logging file $gdb_log" >> $gdb_file -$SUDO echo "set logging on" >> $gdb_file -$SUDO echo "set pagination off" >> $gdb_file -$SUDO echo "handle SIG33 pass nostop noprint" >> $gdb_file -$SUDO echo "echo backtrace:\n" >> $gdb_file -$SUDO echo "backtrace full" >> $gdb_file -$SUDO echo "echo \n\nVariables:\n" >> $gdb_file -$SUDO echo "info variables" >> $gdb_file -$SUDO echo "echo \n\nlocals:\n" >> $gdb_file -$SUDO echo "info locals" >> $gdb_file -$SUDO echo "echo \n\nregisters:\n" >> $gdb_file -$SUDO echo "info registers" >> $gdb_file -$SUDO echo "echo \n\ncurrent instructions:\n" >> $gdb_file -$SUDO echo "x/16i \$pc" >> $gdb_file -$SUDO echo "echo \n\nthreads backtrace:\n" >> $gdb_file -$SUDO echo "thread apply all backtrace" >> $gdb_file -$SUDO echo "set logging off" >> $gdb_file -$SUDO echo "quit" >> $gdb_file - -echo "Contents of gdb_file...start" -$SUDO cat $gdb_file -echo "Contents of gdb_file...finish" - -$SUDO gdb -n -x $gdb_file 2>&1 - diff --git a/cmake_targets/autotests/tools/search_repl.py b/cmake_targets/autotests/tools/search_repl.py deleted file mode 100755 index f34533cfd0a9f895f32cdd62ef84f659b83cb8fa..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/tools/search_repl.py +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/python -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \author Navid Nikaein, Rohit Gupta - -import sys -import re -import os - -#Arg 1 name of file -#Arg 2 keyword -#arg 3 replacement text -#Note that these should be seperated by spaces -if len(sys.argv) != 4: - print "search_repl.py: Wrong number of arguments. This program needs 3 arguments. The number of arguments supplied : " + str(sys.argv) - sys.exit() -filename = os.path.expandvars(sys.argv[1]) -keyword = sys.argv[2] -replacement_text = sys.argv[3] - - -file = open(filename, 'r') -string = file.read() -file.close() - - -if keyword == 'mme_ip_address': - replacement_text = keyword + ' = ( { ' + replacement_text + ' } ) ; ' - string = re.sub(r"mme_ip_address\s*=\s*\(([^\$]+?)\)\s*;", replacement_text, string, re.M) -elif keyword == 'IPV4_LIST' or keyword=='GUMMEI_LIST' or keyword == 'TAI_LIST': - replacement_text = keyword + ' = ( ' + replacement_text + ' ) ; ' - string = re.sub(r"%s\s*=\s*\(([^\$]+?)\)\s*;" % keyword, replacement_text, string, re.M) -elif keyword == 'rrh_gw_config': - replacement_text = keyword + ' = ( { ' + replacement_text + ' } ) ; ' - string = re.sub(r"rrh_gw_config\s*=\s*\(([^\$]+?)\)\s*;", replacement_text, string, re.M) -else : - replacement_text = keyword + ' = ' + replacement_text + ' ; ' - string = re.sub(r"%s\s*=\s*([^\$]+?)\s*;" % keyword , replacement_text, string, re.M) -#else : -# replacement_text = keyword + ' =\"' + replacement_text + '\" ; ' -# string = re.sub(r"%s\s*=\s*\"([^\$]+?)\"\s*;" % keyword , replacement_text, string, re.M) - -file = open(filename, 'w') -file.write(string) -file.close() - diff --git a/cmake_targets/autotests/tools/wdial.bandrich.conf b/cmake_targets/autotests/tools/wdial.bandrich.conf deleted file mode 100755 index e1b64568f95d339bd2989979bfcb4fd654e813d7..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/tools/wdial.bandrich.conf +++ /dev/null @@ -1,36 +0,0 @@ -[Dialer Defaults] -Modem = /dev/ttyUSB0 -ISDN = off -Modem Type = Analog Modem -Baud = 9600 -Init = ATZ -Init2 = AT+CPIN? -Init3 = AT+CGREG? -Init4 = AT+COPS? -Init5 = AT+CSQ -Init6 = -Init7 = AT+CGATT=1 -Init8 = -Init9 = -Phone = *99***1# -Phone1 = -Phone2 = -Phone3 = -Phone4 = -Dial Prefix = -Dial Attempts = 1 -Dial Command = ATM1L3DT -Ask Password = off -Password = '' -Username = ImaginLab -Auto Reconnect = off -Abort on Busy = off -Carrier Check = on -Check Def Route = on -Abort on No Dialtone = on -Stupid Mode = on -Idle Seconds = 0 -Auto DNS = on -;Minimize = off -;Dock = off -;Do NOT edit this file by hand! diff --git a/cmake_targets/autotests/v2/actions/3276.txt b/cmake_targets/autotests/v2/actions/3276.txt deleted file mode 100755 index 1976ceb3f3571ff1cfb69eee5ffa3eb62d6bb80c..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/3276.txt +++ /dev/null @@ -1,13 +0,0 @@ -When running lsusb, if you have: - - Bus 001 Device 002: ID 12d1:14fe Huawei Technologies Co., Ltd. Modem (Mass Storage Mode) - -You need to run: - - usb_modeswitch -v 12d1 -p 14fe -M '55534243123456780000000000000011062000000100000000000000000000' - -After what, running lsusb should give: - - Bus 001 Device 004: ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard - -Values of 'Bus' and 'Device' may differ of course. diff --git a/cmake_targets/autotests/v2/actions/alu_epc.bash b/cmake_targets/autotests/v2/actions/alu_epc.bash deleted file mode 100755 index b2106693bd1c14f9a2f3f65695d748f4cec0f0b4..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/alu_epc.bash +++ /dev/null @@ -1,2 +0,0 @@ -sudo /opt/ltebox/tools/stop_ltebox || true -sudo /opt/ltebox/tools/start_ltebox diff --git a/cmake_targets/autotests/v2/actions/alu_epc_stop.bash b/cmake_targets/autotests/v2/actions/alu_epc_stop.bash deleted file mode 100755 index ca91a27ab1a594ed22b04958b86144207356968d..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/alu_epc_stop.bash +++ /dev/null @@ -1 +0,0 @@ -sudo /opt/ltebox/tools/stop_ltebox diff --git a/cmake_targets/autotests/v2/actions/alu_hss.bash b/cmake_targets/autotests/v2/actions/alu_hss.bash deleted file mode 100755 index 1fb719c25b354b6ffb83b46c648bb5d85dd8be99..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/alu_hss.bash +++ /dev/null @@ -1,5 +0,0 @@ -sudo rmmod nasmesh || true -sudo rmmod ue_ip || true -sudo /opt/ltebox/tools/stop_ltebox || true -sudo killall -9 hss_sim || true -sudo /opt/hss_sim0609/starthss_real diff --git a/cmake_targets/autotests/v2/actions/bandrich.txt b/cmake_targets/autotests/v2/actions/bandrich.txt deleted file mode 100755 index faa294465b8b3339b7ac67a6655c73a8543607f0..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/bandrich.txt +++ /dev/null @@ -1,146 +0,0 @@ -The configuration for the bandrich in the test setup is a bit hackish. - -Here come some notes explaining what we do here. - -To get /dev/bandrich.data and /dev/bandrich.control (so that you don't need -to look for which /dev/ttyUSBx are used by your dongle, and always use -the same files, no matter what), add a udev file: - - /etc/udev/rules.d/bandrich.rules - -containing lines: - - SUBSYSTEM=="tty", ENV{ID_VENDOR_ID}=="1a8d", ENV{ID_MODEL_ID}=="100d", ENV{ID_SERIAL_SHORT}=="357473040068155", ENV{ID_USB_INTERFACE_NUM}=="00", SYMLINK+="bandrich.data", MODE="0666" - SUBSYSTEM=="tty", ENV{ID_VENDOR_ID}=="1a8d", ENV{ID_MODEL_ID}=="100d", ENV{ID_SERIAL_SHORT}=="357473040068155", ENV{ID_USB_INTERFACE_NUM}=="02", SYMLINK+="bandrich.control", MODE="0666" - -To avoid NetworkManager to play with the bandrich, add also the line: - - ENV{ID_VENDOR_ID}=="1a8d", ENV{ID_MM_DEVICE_IGNORE}="1" - -Maybe also add; , ENV{ID_MM_DEVICE_IGNORE}="1" -to the two other lines. - -Then run: udevadm control --reload-rules -And: service network-manager restart - -Change vendor_id/model_id/serial/interface num to match yours. -Use lsusb -v to find values. - -At first we used /dev/ttyUSB2 linked to /dev/bandrich for both data (in -the wvdial configuration file) and control (in the python code, opening -/dev/bandrich the standard unix way and read and write into it, with no -special libusb commands). - -But it turned out that using /dev/ttyUSB2 for data gives bad throughput -results. We tested downlink UDP at 15Mb/s but the maximum throughput for -a 5MHz cell was around 13, and we had a lot of packets lost at the iperf's -UDP level. Radio was looking fine (all packets acked correctly), so it was -not a radio problem. The dongle in a windows machine was working fine, -15Mbs/s. Using the wvdial configuration file from test setup v1 gave also -good results. The only difference was the use of /dev/ttyUSB0 instead of -/dev/ttyUSB2. Using /dev/ttyUSB0 solved the throughput issue. - -But using /dev/ttyUSB0 for control in the pyton code did not work. The -output was incorrect. - -So we decided to have /dev/bandrich.data linked to /dev/ttyUSB0 for data -(wvdial) and /dev/bandrich.control linked to /dev/ttyUSB2 for control -(in python code). - -It may not be the correct way to go, but it seems to do the trick so far. - -Your device may need some other solution. - -Here, we get, as result of lsusb -v: - - [SNIP] - Bus 003 Device 009: ID 1a8d:100d BandRich, Inc. 4G LTE adapter - Device Descriptor: - bLength 18 - bDescriptorType 1 - bcdUSB 2.00 - bDeviceClass 0 (Defined at Interface level) - bDeviceSubClass 0 - bDeviceProtocol 0 - bMaxPacketSize0 64 - idVendor 0x1a8d BandRich, Inc. - idProduct 0x100d 4G LTE adapter - bcdDevice 0.00 - iManufacturer 10 BandRich, Inc. - iProduct 9 BandLuxe HSPA-LTE Adapter - iSerial 11 357473040068155 - [SNIP] - -You can also run: - - udevadm monitor - -and unplug/replug the dongle. It will print some information. - -The command: - - udevadm info --export-db - -is also important to get the right identifier to put in ENV{}. (It also -gives the correct value.) - -Here is extracted what we have for our dongle: - - P: /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.2/ttyUSB2/tty/ttyUSB2 - N: ttyUSB2 - S: bandrich - S: serial/by-id/usb-BandRich__Inc._BandLuxe_HSPA-LTE_Adapter_357473040068155-if02-port0 - S: serial/by-path/pci-0000:00:1a.0-usb-0:1.2:1.2-port0 - E: DEVLINKS=/dev/bandrich /dev/serial/by-id/usb-BandRich__Inc._BandLuxe_HSPA-LTE_Adapter_357473040068155-if02-port0 /dev/serial/by-path/pci-0000:00:1a.0-usb-0:1.2:1.2-port0 - E: DEVNAME=/dev/ttyUSB2 - E: DEVPATH=/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2/3-1.2:1.2/ttyUSB2/tty/ttyUSB2 - E: ID_BUS=usb - E: ID_MM_CANDIDATE=1 - E: ID_MODEL=BandLuxe_HSPA-LTE_Adapter - E: ID_MODEL_ENC=BandLuxe\x20HSPA-LTE\x20Adapter - E: ID_MODEL_FROM_DATABASE=4G LTE adapter - E: ID_MODEL_ID=100d - E: ID_PATH=pci-0000:00:1a.0-usb-0:1.2:1.2 - E: ID_PATH_TAG=pci-0000_00_1a_0-usb-0_1_2_1_2 - E: ID_REVISION=0000 - E: ID_SERIAL=BandRich__Inc._BandLuxe_HSPA-LTE_Adapter_357473040068155 - E: ID_SERIAL_SHORT=357473040068155 - E: ID_TYPE=generic - E: ID_USB_DRIVER=option - E: ID_USB_INTERFACES=:ffffff:020600:0a0000:080650: - E: ID_USB_INTERFACE_NUM=02 - E: ID_VENDOR=BandRich__Inc. - E: ID_VENDOR_ENC=BandRich\x2c\x20Inc. - E: ID_VENDOR_FROM_DATABASE=BandRich, Inc. - E: ID_VENDOR_ID=1a8d - E: MAJOR=188 - E: MINOR=2 - E: SUBSYSTEM=tty - E: USEC_INITIALIZED=672068596 - -You can also run: - - udevadm info -a -p /sys/bus/usb-serial/devices/ttyUSB0 - udevadm info -a -p /sys/bus/usb-serial/devices/ttyUSB2 - -Note: after creating the udev files, you need to unplug/replug your -dongle for /dev/bandrich.data and /dev/bandrich.control to appear. - -Note: the mode 0666 is for everyone to access the dongle (no need for - root privileges). If you prefer you can set it to 0600 (only root) - or 0660 (root and group). - -Then you need to configure pppd, to get correct 'route' information when -you run wvdial. - -The file /etc/ppp/peers/wvdial should have the following content: - - noauth - name wvdial - usepeerdns - defaultroute - replacedefaultroute - -The file wvdial.bandrich.conf has been created by copying some information -found on the Internet. Its content may not be fully correct. Adapt to your -situation. It seems to work here. diff --git a/cmake_targets/autotests/v2/actions/client_tcp.bash b/cmake_targets/autotests/v2/actions/client_tcp.bash deleted file mode 100755 index 1079f9aee87d7d2ed6cd10e2b0973e675af30fb2..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/client_tcp.bash +++ /dev/null @@ -1,2 +0,0 @@ -echo $SERVER_IP -timeout -s 9 20s iperf -c $SERVER_IP -i1 diff --git a/cmake_targets/autotests/v2/actions/client_udp.bash b/cmake_targets/autotests/v2/actions/client_udp.bash deleted file mode 100755 index 00151aa1f8e1347b59ba2ccf4a26f90d0c29fff2..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/client_udp.bash +++ /dev/null @@ -1,3 +0,0 @@ -echo $SERVER_IP -echo $UDP_BANDWIDTH -timeout -s 9 20s iperf -c $SERVER_IP -i1 -u -b $UDP_BANDWIDTH diff --git a/cmake_targets/autotests/v2/actions/clone_repository.bash b/cmake_targets/autotests/v2/actions/clone_repository.bash deleted file mode 100755 index 2f1769a623c9e169ec3c3a8ff5c3147257d1281d..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/clone_repository.bash +++ /dev/null @@ -1,6 +0,0 @@ -sudo rm -rf /tmp/oai_test_setup -mkdir /tmp/oai_test_setup -cd /tmp/oai_test_setup -git clone $REPOSITORY_URL oai -cd oai -git checkout $COMMIT_ID diff --git a/cmake_targets/autotests/v2/actions/compilation.bash b/cmake_targets/autotests/v2/actions/compilation.bash deleted file mode 100755 index 44966616fa397eb57e92d5115c45c4319f5335f6..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/compilation.bash +++ /dev/null @@ -1,9 +0,0 @@ -cd /tmp/oai_test_setup/oai -source oaienv -cd cmake_targets -rm -rf log -mkdir -p log -echo $BUILD_ARGUMENTS -./build_oai $BUILD_ARGUMENTS -echo $BUILD_OUTPUT -ls $BUILD_OUTPUT diff --git a/cmake_targets/autotests/v2/actions/execution.bash b/cmake_targets/autotests/v2/actions/execution.bash deleted file mode 100755 index 0e05014888ccb5cefc1900e79d3df3622bc2dbcb..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/execution.bash +++ /dev/null @@ -1,4 +0,0 @@ -cd /tmp/oai_test_setup/oai -source oaienv -echo $EXEC $EXEC_ARGS -$EXEC $EXEC_ARGS diff --git a/cmake_targets/autotests/v2/actions/execution_compile.bash b/cmake_targets/autotests/v2/actions/execution_compile.bash deleted file mode 100755 index 149ebdff85f179ee5593e68c87aaf7c7a9abbfe1..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/execution_compile.bash +++ /dev/null @@ -1,13 +0,0 @@ -cd /tmp/oai_test_setup/oai -source oaienv -sudo rmmod nasmesh || true -sudo rmmod ue_ip || true -cd cmake_targets -rm -rf log -mkdir -p log -echo $PRE_BUILD -bash -c "$PRE_BUILD" -echo $BUILD_PROG $BUILD_ARGUMENTS -$BUILD_PROG $BUILD_ARGUMENTS -echo $PRE_EXEC -bash -c "$PRE_EXEC" diff --git a/cmake_targets/autotests/v2/actions/modem.py b/cmake_targets/autotests/v2/actions/modem.py deleted file mode 100755 index a6c49fa9bfdc35e6d00596243fd7283c0b9fa486..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/modem.py +++ /dev/null @@ -1,103 +0,0 @@ -import sys, os, select, re, time - -def quit(r): - sys.stdout.flush() - os._exit(r) - -class ModemResponse: - def __init__(self, retcode, retstring): - self.ret = retcode - self.data = retstring - -class Modem: - def open(self): - self.i = os.open(self.devname, os.O_RDONLY) - self.o = os.open(self.devname, os.O_WRONLY) - #clear output of modem, if any is pending (not sure of this) - while True: - (ri, ro, re) = select.select([self.i], [], [self.i], 0) - if len(ri) == 0: - break - l = os.read(self.i, 65536) - print "WARNING: modem had unread data: '" + \ - l.replace('\r', '\\r') + "'" - - def __init__(self, devname): - self.devname = devname - self.i = -1 - self.o = -1 - self.open() - - def send(self, s): - print "DEBUG: SEND TO MODEM: '" + s + "'" - os.write(self.o, s+"\r") - - def recv(self): - return os.read(self.i, 65536) - - def wait(self): - ok = '\r\nOK\r\n' - error = '\r\nERROR\r\n' - cme_error = '\r\nCME ERROR:[^\r]*\r\n' - no_carrier = '\r\nNO CARRIER\r\n' - l = '' - while True: - l = l + self.recv() - print "DEBUG: CURRENT MODEM RESPONSE: '" + \ - l.replace('\r','\\r').replace('\n','\\n') + "'" - - #AT returned 'things' are "\r\nXXXX\r\n", look for that. - #Check if last one matches 'ok', 'error' or 'cme_error'. - #(Hopefully this is enough and no other reply is possible.) - #This code accepts invalid responses from modem, ie. all - #that does not fit in the 'findall' is thrashed away, maybe - #we want to do something in this case? - - res = re.findall('\r\n[^\r]*\r\n', l) - if len(res) == 0: - print "DEBUG: NO MATCH: wait for more input from modem" - continue - last_res = res[len(res)-1] - print "DEBUG: CURRENT LAST LINE: '" + \ - last_res.replace('\r','\\r').replace('\n','\\n')+"'" - if re.match(ok, last_res) != None: - return ModemResponse(True, l) - if ( re.match(error, last_res) != None or - re.match(cme_error, last_res) != None or - re.match(no_carrier, last_res) != None): - return ModemResponse(False, l) - #TODO purge? - #re.purge() - - def modem_reset_cycle(self): - #close all - os.close(self.i) - os.close(self.o) - self.i = -1 - self.o = -1 - - print "DEBUG: RESET CYCLE: wait for modem to go away" - #wait for file descriptor to go away - while True: - try: - test = os.open(self.devname, os.O_RDONLY) - os.close(test) - time.sleep(0.1) - except BaseException, e: - break - print "DEBUG: RESET CYCLE: modem has gone away" - - print "DEBUG: RESET CYCLE: wait for modem to come back" - #wait for file descriptor to be back, try to open it over and over - #TODO: use inotify here? (it's not in basic python as it seems) - while True: - try: - test = os.open(self.devname, os.O_RDONLY) - os.close(test) - break - except BaseException, e: - time.sleep(0.1) - print "DEBUG: RESET CYCLE: modem is back" - - #back to business - self.open() diff --git a/cmake_targets/autotests/v2/actions/run_enb.bash b/cmake_targets/autotests/v2/actions/run_enb.bash deleted file mode 100755 index 967aae4f9961e3f4c50d4f0e04b9f6f40e0b85e8..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/run_enb.bash +++ /dev/null @@ -1,12 +0,0 @@ -#enable control+C reception (to be refined if it does not work) -stty isig intr ^C - -cd /tmp/oai_test_setup/oai -source oaienv -sudo rmmod nasmesh || true -sudo rmmod ue_ip || true -cd cmake_targets/ran_build/build -ulimit -c unlimited -sudo rm -f core -#sudo -E ./lte-softmodem -O $OPENAIR_DIR/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.conf -sudo -E ./lte-softmodem -O /tmp/enb.conf \ No newline at end of file diff --git a/cmake_targets/autotests/v2/actions/server_tcp.bash b/cmake_targets/autotests/v2/actions/server_tcp.bash deleted file mode 100755 index 3e9c4aafc46571fade57dd844c3764b726443495..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/server_tcp.bash +++ /dev/null @@ -1,4 +0,0 @@ -stty isig intr ^C - -#timeout -s 9 20s iperf -s -i1 -iperf -s -i1 diff --git a/cmake_targets/autotests/v2/actions/server_udp.bash b/cmake_targets/autotests/v2/actions/server_udp.bash deleted file mode 100755 index 22fba07092449f754b99370e74e34b0f1e06d09b..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/server_udp.bash +++ /dev/null @@ -1,4 +0,0 @@ -stty isig intr ^C - -#timeout -s 9 20s iperf -s -i1 -u -iperf -s -i1 -u diff --git a/cmake_targets/autotests/v2/actions/start_3276.bash b/cmake_targets/autotests/v2/actions/start_3276.bash deleted file mode 100755 index 380c914d47ca57e23a5d17a2697b8eee9573dc02..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/start_3276.bash +++ /dev/null @@ -1,13 +0,0 @@ -#enable control+C reception (to be refined if it does not work) -stty isig intr ^C - -cd /tmp/oai_test_setup/oai -source oaienv -sudo rmmod nasmesh || true -sudo rmmod ue_ip || true -cd cmake_targets/autotests/v2/actions -sudo python start_3276.py - -sudo wvdial -C wvdial.3276.conf || true - -sudo python stop_3276.py diff --git a/cmake_targets/autotests/v2/actions/start_3276.py b/cmake_targets/autotests/v2/actions/start_3276.py deleted file mode 100755 index cf0629213aa012ea25b76ead78c6af332fe15c38..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/start_3276.py +++ /dev/null @@ -1,59 +0,0 @@ -import time - -from modem import quit, Modem - -try: - modem = Modem("/dev/ttyUSB0") - - #test that modem is there - print "INFO: check modem's presence" - modem.send('AT') - if modem.wait().ret != True: - print "ERROR: no modem?" - quit(1) - - #first deactivate - print "INFO: deactivate the modem" - modem.send('AT+CFUN=0') - if modem.wait().ret != True: - print "ERROR: failed deactivating the modem" - quit(1) - - #activate the modem - print "INFO: activate the modem" - modem.send('AT+CFUN=1') - if modem.wait().ret != True: - print "ERROR: failed asking modem for activation" - quit(1) - - #wait for modem to be connected - #timeout after one minute - print "INFO: wait for modem to be connected (timeout: one minute)" - start_time = time.time() - while True: - modem.send('AT+CGATT?') - r = modem.wait() - if r.ret != True: - print "ERROR: failed checking attachment status of modem" - quit(1) - if "+CGATT: 1" in r.data: - break - if not "CGATT: 0" in r.data: - print "ERROR: bad data when checking attachment status of modem" - quit(1) - time.sleep(0.1) - if time.time() > start_time + 60: - print "ERROR: modem not connected after one minute, close modem" - modem.send('AT+CFUN=0') - r = modem.wait() - if r.ret != True: - print "ERROR: closing modem failed" - quit(1) - - print "INFO: modem is connected" - -except BaseException, e: - print "ERROR: " + str(e) - quit(1) - -quit(0) diff --git a/cmake_targets/autotests/v2/actions/start_bandrich.bash b/cmake_targets/autotests/v2/actions/start_bandrich.bash deleted file mode 100755 index 7620e897842010f040696db8b49975be727e06f4..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/start_bandrich.bash +++ /dev/null @@ -1,26 +0,0 @@ -#enable control+C reception (to be refined if it does not work) -stty isig intr ^C - -#If /dev/bandrich is not present when we start the test, what to do? -#The following commented lines are an attempt at solving this. -#This is not satisfying, so we rather do nothing. - -##the UE got stuck once, I had to run usb_modeswitch by hand. -##So at this point, if /dev/bandrich does not exist, maybe the UE is -##stuck for whatever reason. Let's forcefully run usb_modeswitch. -#if [ ! -e /dev/bandrich ]; then sudo usb_modeswitch -v 1a8d -p 1000 -I -W -K; true; fi -# -##wait for /dev/bandrich (TODO: use inotify?) -##may fail if the bandrich is in a bad state -#while [ ! -e /dev/bandrich ]; do sleep 1; done - -cd /tmp/oai_test_setup/oai -source oaienv -sudo rmmod nasmesh || true -sudo rmmod ue_ip || true -cd cmake_targets/autotests/v2/actions -python start_bandrich.py - -sudo wvdial -C wvdial.bandrich.conf || true - -python stop_bandrich.py diff --git a/cmake_targets/autotests/v2/actions/start_bandrich.py b/cmake_targets/autotests/v2/actions/start_bandrich.py deleted file mode 100755 index 698694df052d2dda034f422ac5d1fa70ea62a3dc..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/start_bandrich.py +++ /dev/null @@ -1,55 +0,0 @@ -import time - -from modem import quit, Modem - -try: - modem = Modem("/dev/bandrich.control") - - #test that modem is there - print "INFO: check modem's presence" - modem.send('AT') - if modem.wait().ret != True: - print "ERROR: no modem?" - quit(1) - - #activate the modem, be brutal and reset it too! - print "INFO: reset and activate the modem" - modem.send('AT+CFUN=1,1') - if modem.wait().ret != True: - print "ERROR: failed asking modem for activation" - quit(1) - - #modem has gone! wait for it to pop up again - modem.modem_reset_cycle() - - #wait for modem to be connected - #timeout after one minute - print "INFO: wait for modem to be connected (timeout: one minute)" - start_time = time.time() - while True: - modem.send('AT+CGATT?') - r = modem.wait() - if r.ret != True: - print "ERROR: failed checking attachment status of modem" - quit(1) - if "+CGATT: 1" in r.data: - break - if not "CGATT: 0" in r.data: - print "ERROR: bad data when checking attachment status of modem" - quit(1) - time.sleep(0.1) - if time.time() > start_time + 60: - print "ERROR: modem not connected after one minute, close modem" - modem.send('AT+CFUN=4') - r = modem.wait() - if r.ret != True: - print "ERROR: closing modem failed" - quit(1) - - print "INFO: modem is connected" - -except BaseException, e: - print "ERROR: " + str(e) - quit(1) - -quit(0) diff --git a/cmake_targets/autotests/v2/actions/stop_3276.py b/cmake_targets/autotests/v2/actions/stop_3276.py deleted file mode 100755 index 3eb7e889c6b91020028d17e6844523f79c2f58d3..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/stop_3276.py +++ /dev/null @@ -1,29 +0,0 @@ -import time - -from modem import quit, Modem - -try: - modem = Modem("/dev/ttyUSB0") - - #test that modem is there - print "INFO: check modem's presence" - modem.send('AT') - r = modem.wait() - if r.ret != True and "NO CARRIER" not in r.data: - print "ERROR: no modem?" - quit(1) - if "NO CARRIER" in r.data: - print "WARNING: 'NO CARRIER' detected, not sure if handled correctly" - - #deactivate the modem - print "INFO: deactivate the modem" - modem.send('AT+CFUN=0') - if modem.wait().ret != True: - print "ERROR: failed asking modem for deactivation" - quit(1) - -except BaseException, e: - print "ERROR: " + str(e) - quit(1) - -quit(0) diff --git a/cmake_targets/autotests/v2/actions/stop_bandrich.py b/cmake_targets/autotests/v2/actions/stop_bandrich.py deleted file mode 100755 index d539faa9f8a85b46e3e3852a38ecf51df0a903bc..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/stop_bandrich.py +++ /dev/null @@ -1,29 +0,0 @@ -import time - -from modem import quit, Modem - -try: - modem = Modem("/dev/bandrich.control") - - #test that modem is there - print "INFO: check modem's presence" - modem.send('AT') - r = modem.wait() - if r.ret != True and "NO CARRIER" not in r.data: - print "ERROR: no modem?" - quit(1) - if "NO CARRIER" in r.data: - print "WARNING: 'NO CARRIER' detected, not sure if handled correctly" - - #deactivate the modem - print "INFO: deactivate the modem" - modem.send('AT+CFUN=4') - if modem.wait().ret != True: - print "ERROR: failed asking modem for deactivation" - quit(1) - -except BaseException, e: - print "ERROR: " + str(e) - quit(1) - -quit(0) diff --git a/cmake_targets/autotests/v2/actions/wvdial.3276.conf b/cmake_targets/autotests/v2/actions/wvdial.3276.conf deleted file mode 100755 index 81fedc8df212d7183b2902373a8151ad4f48c171..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/wvdial.3276.conf +++ /dev/null @@ -1,27 +0,0 @@ -[Dialer Defaults] -Modem = /dev/ttyUSB0 -ISDN = off -Modem Type = Analog Modem -Baud = 9600 -Init1 = ATZ -Init2 = AT&F &D2 &C1 -Init3 = AT+CGDCONT=1,"IP","oai.ipv4" -Phone = *99# -Phone1 = -Phone2 = -Phone3 = -Phone4 = -Ask Password = off -Password = '' -Username = ImaginLab -Auto Reconnect = off -Abort on Busy = off -Carrier Check = on -Check Def Route = on -Abort on No Dialtone = on -Stupid Mode = on -Idle Seconds = 0 -Auto DNS = on -;Minimize = off -;Dock = off -;Do NOT edit this file by hand! diff --git a/cmake_targets/autotests/v2/actions/wvdial.bandrich.conf b/cmake_targets/autotests/v2/actions/wvdial.bandrich.conf deleted file mode 100755 index d3146e3a2af6e6d56a8cb15f58a7731bdfb65d2b..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/actions/wvdial.bandrich.conf +++ /dev/null @@ -1,36 +0,0 @@ -[Dialer Defaults] -Modem = /dev/bandrich.data -ISDN = off -Modem Type = Analog Modem -Baud = 9600 -Init = ATZ -Init2 = AT+CPIN? -Init3 = AT+CGREG? -Init4 = AT+COPS? -Init5 = AT+CSQ -Init6 = -Init7 = AT+CGATT=1 -Init8 = -Init9 = -Phone = *99***1# -Phone1 = -Phone2 = -Phone3 = -Phone4 = -Dial Prefix = -Dial Attempts = 1 -Dial Command = ATM1L3DT -Ask Password = off -Password = '' -Username = ImaginLab -Auto Reconnect = off -Abort on Busy = off -Carrier Check = on -Check Def Route = on -Abort on No Dialtone = on -Stupid Mode = on -Idle Seconds = 0 -Auto DNS = on -;Minimize = off -;Dock = off -;Do NOT edit this file by hand! diff --git a/cmake_targets/autotests/v2/alu_test.py b/cmake_targets/autotests/v2/alu_test.py deleted file mode 100755 index 762e414a95f93ea988ed253cfd9d2abe991f8269..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/alu_test.py +++ /dev/null @@ -1,551 +0,0 @@ -import threading, os, re - -from utils import quickshell, log, TestFailed, do_tests -from task import Task, WAITLOG_SUCCESS - -class alu_test: - def __init__(self, - epc, enb, ue, - openair, - user, password, - log_subdir, - env, - enb_rru = "", - enb_rcc = ""): - self.epc_machine = epc - self.enb_machine = enb - self.ue_machine = ue - self.openair_dir = openair - self.oai_user = user - self.oai_password = password - self.env = env - self.enb_rru_machine = enb_rru - self.enb_rcc_machine = enb_rcc - - self.task_hss = None - self.task_enb = None - self.task_ue = None - self.task_rru_enb = None - self.task_rcc_enb = None - - self.logdir = openair + '/cmake_targets/autotests/log/' + log_subdir - quickshell('mkdir -p ' + self.logdir) - - #event object used to wait for several tasks at once - self.event = threading.Event() - - ########################################################################## - # finish - ########################################################################## - def finish(self): - #brutally kill tasks still running - #TODO: call 'wait', some processes may still be there as zombies - if self.task_hss != None and self.task_hss.alive(): - self.task_hss.kill() - if self.task_enb != None and self.task_enb.alive(): - self.task_enb.kill() - if self.task_ue != None and self.task_ue.alive(): - self.task_ue.kill() - if self.task_rru_enb != None and self.task_rru_enb.alive(): - self.task_rru_enb.kill() - if self.task_rcc_enb != None and self.task_rcc_enb.alive(): - self.task_rcc_enb.kill() - - ########################################################################## - # start_epc - ########################################################################## - def start_epc(self): - #launch HSS, wait for prompt - log("INFO: ALU test: run HSS") - self.task_hss = Task("actions/alu_hss.bash", - "alu_hss", - self.epc_machine, - self.oai_user, - self.oai_password, - self.env, - self.logdir + "/alu_hss." + self.epc_machine, - event=self.event) - self.task_hss.waitlog('S6AS_SIM-> ') - - #then launch EPC, wait for connection on HSS side - log("INFO: ALU test: run EPC") - task_epc = Task("actions/alu_epc.bash", - "ALU EPC", - self.epc_machine, - self.oai_user, - self.oai_password, - self.env, - self.logdir + "/alu_epc." + self.epc_machine) - ret = task_epc.wait() - if ret != 0: - log("ERROR: EPC start failure"); - raise TestFailed() - self.task_hss.waitlog('Connected\n') - - ########################################################################## - # stop_epc - ########################################################################## - def stop_epc(self): - #stop EPC, wait for disconnection on HSS side - log("INFO: ALU test: stop EPC") - task_epc = Task("actions/alu_epc_stop.bash", - "alu_epc_stop", - self.epc_machine, - self.oai_user, - self.oai_password, - self.env, - self.logdir + "/alu_epc_stop." + self.epc_machine) - ret = task_epc.wait() - if ret != 0: - log("ERROR: ALU test: ALU EPC stop failed") - raise TestFailed() - self.task_hss.waitlog('Disconnected\n') - - log("INFO: ALU test: stop HSS") - self.task_hss.sendnow("exit\n") - ret = self.task_hss.wait() - if ret != 0: - log("ERROR: ALU test: ALU HSS failed") - raise TestFailed() - - ########################################################################## - # compile_enb - ########################################################################## - def compile_enb(self, build_arguments, log_suffix=""): - log("INFO: ALU test: compile softmodem on " + self.enb_machine) - envcomp = list(self.env) - envcomp.append('BUILD_ARGUMENTS="' + build_arguments + '"') - #we don't care about BUILD_OUTPUT but required (TODO: change that) - envcomp.append('BUILD_OUTPUT=/') - logdir = self.logdir + "/compile_log" - remote_files = "'/tmp/oai_test_setup/oai/cmake_targets/log/*'" - post_action = "mkdir -p "+ logdir + \ - " && sshpass -p " + self.oai_password + \ - " scp -r " + self.oai_user + \ - "@" + self.enb_machine + ":" + remote_files + " " + logdir + \ - " || true" - task = Task("actions/compilation.bash", - "compile_softmodem", - self.enb_machine, - self.oai_user, - self.oai_password, - envcomp, - self.logdir + "/compile_softmodem." + log_suffix + \ - self.enb_machine, - post_action=post_action) - ret = task.wait() - if ret != 0: - log("ERROR: softmodem compilation failure"); - raise TestFailed() - task.postaction() - - ########################################################################## - # start_enb - ########################################################################## - def start_enb(self, config_file): - #copy wanted configuration file - quickshell("sshpass -p " + self.oai_password + - " scp config/" + config_file + " " + - self.oai_user + "@" + self.enb_machine + ":/tmp/enb.conf") - - #run softmodem - log("INFO: ALU test: run softmodem with configuration file " + - config_file) - self.task_enb = Task("actions/run_enb.bash", - "run_softmodem", - self.enb_machine, - self.oai_user, - self.oai_password, - self.env, - self.logdir + "/run_softmodem." + self.enb_machine, - event=self.event) - self.task_enb.waitlog('got sync') - - ########################################################################## - # stop_enb - ########################################################################## - def stop_enb(self): - log("INFO: ALU test: stop softmodem") - self.task_enb.sendnow("%c" % 3) - ret = self.task_enb.wait() - if ret != 0: - log("ERROR: ALU test: softmodem failed") - #not sure if we have to quit here or not - #os._exit(1) - - ########################################################################## - # start_enb_rru_rcc - ########################################################################## - def start_enb_rru_rcc(self, rru_config_file, rcc_config_file): - #copy wanted configuration files - quickshell("sshpass -p " + self.oai_password + - " scp config/" + rru_config_file + " " + - self.oai_user + "@" + self.enb_rru_machine+":/tmp/enb.conf") - quickshell("sshpass -p " + self.oai_password + - " scp config/" + rcc_config_file + " " + - self.oai_user + "@" + self.enb_rcc_machine+":/tmp/enb.conf") - - #run RRU/RCC softmodem - log("INFO: ALU test: run RRU softmodem with configuration file " + - rru_config_file) - self.task_rru_enb = Task("actions/run_enb.bash", - "run_RRU_softmodem", - self.enb_rru_machine, - self.oai_user, - self.oai_password, - self.env, - self.logdir + "/run_softmodem." + self.enb_rru_machine, - event=self.event) - self.task_rru_enb.waitlog('[RRH] binding to') - log("INFO: ALU test: run RCC softmodem with configuration file " + - rcc_config_file) - self.task_rcc_enb = Task("actions/run_enb.bash", - "run_RCC_softmodem", - self.enb_rcc_machine, - self.oai_user, - self.oai_password, - self.env, - self.logdir + "/run_softmodem." + self.enb_rcc_machine, - event=self.event) - self.task_rcc_enb.waitlog('[BBU] local ip addr') - #wait for RRU and RCC to be connected - self.task_rru_enb.waitlog('devices ok (eNB_thread_asynch_rx)') - - ########################################################################## - # stop_enb_rru_rcc - ########################################################################## - def stop_enb_rru_rcc(self): - log("INFO: ALU test: stop RRU/RCC softmodem") - self.task_rru_enb.sendnow("%c" % 3) - ret = self.task_rru_enb.wait() - if ret != 0: - log("ERROR: ALU test: RRU softmodem failed") - #not sure if we have to quit here or not - #os._exit(1) - self.task_rcc_enb.sendnow("%c" % 3) - ret = self.task_rcc_enb.wait() - if ret != 0: - log("ERROR: ALU test: RCC softmodem failed") - #not sure if we have to quit here or not - #os._exit(1) - - ########################################################################## - # start_ue - ########################################################################## - def start_ue(self, ue): - log("INFO: ALU test: start " + ue + " UE") - self.task_ue = Task("actions/start_" + ue + ".bash", - "start_" + ue, - self.ue_machine, - self.oai_user, - self.oai_password, - self.env, - self.logdir + "/start_" + ue + "." + self.ue_machine, - event=self.event) - self.task_ue.waitlog("local IP address", event=self.event) - self.event.wait() - - #at this point one task has died or we have the line in the log - if self.task_ue.waitlog_state != WAITLOG_SUCCESS: - log("ERROR: ALU test: " + ue + " UE did not connect") - raise TestFailed() - - self.event.clear() - - if ( (self.task_enb != None and not self.task_enb.alive()) or - (self.task_rru_enb!=None and not self.task_rru_enb.alive()) or - (self.task_rcc_enb!=None and not self.task_rcc_enb.alive()) or - not self.task_hss.alive() or - not self.task_ue.alive()): - log("ERROR: ALU test: eNB, HSS or UE task died") - raise TestFailed() - - #get UE IP - l = open(self.task_ue.logfile, "r").read() - self.ue_ip = re.search("local IP address (.*)\n", l) \ - .groups()[0] - log("INFO: ALU test: " + ue + " UE IP address: " + self.ue_ip) - - ########################################################################## - # stop_ue - ########################################################################## - def stop_ue(self, ue): - log("INFO: ALU test: stop " + ue + " UE") - self.task_ue.sendnow("%c" % 3) - ret = self.task_ue.wait() - if ret != 0: - log("ERROR: ALU test: task " + ue + " UE failed") - #not sure if we have to quit here or not - #os._exit(1) - - ########################################################################## - # _do_traffic (internal function, do not call out of the class) - ########################################################################## - def _do_traffic(self, name, - server_code, server_machine, server_ip, - client_code, client_machine, - waitlog, - server_logfile, client_logfile, - udp_bandwidth=None): - log("INFO: ALU test: run traffic: " + name) - - log("INFO: ALU test: launch server") - task_traffic_server = Task("actions/" + server_code + ".bash", - server_logfile, - server_machine, - self.oai_user, - self.oai_password, - self.env, - self.logdir + "/" + server_logfile + "." + server_machine, - event=self.event) - task_traffic_server.waitlog(waitlog) - - env = list(self.env) - if udp_bandwidth != None: - env.append("UDP_BANDWIDTH=" + udp_bandwidth) - env.append("SERVER_IP=" + server_ip) - - log("INFO: ALU test: launch client") - task_traffic_client = Task("actions/" + client_code + ".bash", - client_logfile, - client_machine, - self.oai_user, - self.oai_password, - env, - self.logdir + "/" + client_logfile + "." + client_machine, - event=self.event) - log("INFO: ALU test: wait for client to finish (or some error)") - - self.event.wait() - log("DEBUG: event.wait() done") - - if ( (self.task_enb != None and not self.task_enb.alive()) or - (self.task_rru_enb!=None and not self.task_rru_enb.alive()) or - (self.task_rcc_enb!=None and not self.task_rcc_enb.alive()) or - not self.task_hss.alive() or - not self.task_ue.alive()): - log("ERROR: unexpected task exited, test failed, kill all") - if task_traffic_client.alive(): - task_traffic_client.kill() - if (self.task_enb != None and self.task_enb.alive()): - self.task_enb.kill() - if (self.task_rru_enb != None and self.task_rru_enb.alive()): - self.task_rru_enb.kill() - if (self.task_rcc_enb != None and self.task_rcc_enb.alive()): - self.task_rcc_enb.kill() - if self.task_ue.alive(): - self.task_ue.kill() - - ret = task_traffic_client.wait() - if ret != 0: - log("ERROR: ALU test: downlink traffic failed") - #not sure if we have to quit here or not - #os._exit(1) - - #stop downlink server - #log("INFO: ALU test: stop server (kill ssh connection)") - #task_traffic_server.kill() - log("INFO: ALU test: stop server (ctrl+z then kill -9 %1)") - task_traffic_server.sendnow("%ckill -9 %%1 || true\n" % 26) - log("INFO: ALU test: wait for server to quit") - task_traffic_server.wait() - - self.event.clear() - - if ( (self.task_enb != None and not self.task_enb.alive()) or - (self.task_rru_enb!=None and not self.task_rru_enb.alive()) or - (self.task_rcc_enb!=None and not self.task_rcc_enb.alive()) or - not self.task_hss.alive() or - not self.task_ue.alive()): - log("ERROR: ALU test: eNB, HSS or UE task died") - raise TestFailed() - - ########################################################################## - # dl_tcp - ########################################################################## - def dl_tcp(self, ue): - self._do_traffic(ue + " downlink TCP", - "server_tcp", self.ue_machine, self.ue_ip, - "client_tcp", self.epc_machine, - "Server listening on TCP port 5001", - ue + "_downlink_tcp_server", - ue + "_downlink_tcp_client") - - ########################################################################## - # ul_tcp - ########################################################################## - def ul_tcp(self, ue): - self._do_traffic(ue + " uplink TCP", - "server_tcp", self.epc_machine, "192.172.0.1", - "client_tcp", self.ue_machine, - "Server listening on TCP port 5001", - ue + "_uplink_tcp_server", - ue + "_uplink_tcp_client") - - ########################################################################## - # dl_udp - ########################################################################## - def dl_udp(self, ue, bandwidth): - self._do_traffic(ue + " downlink UDP", - "server_udp", self.ue_machine, self.ue_ip, - "client_udp", self.epc_machine, - "Server listening on UDP port 5001", - ue + "_downlink_udp_server", - ue + "_downlink_udp_client", - udp_bandwidth=bandwidth) - - ########################################################################## - # ul_udp - ########################################################################## - def ul_udp(self, ue, bandwidth): - self._do_traffic(ue + " uplink UDP", - "server_udp", self.epc_machine, "192.172.0.1", - "client_udp", self.ue_machine, - "Server listening on UDP port 5001", - ue + "_uplink_udp_server", - ue + "_uplink_udp_client", - udp_bandwidth=bandwidth) - -############################################################################## -# run_b210_alu -############################################################################## - -def run_b210_alu(tests, openair_dir, oai_user, oai_password, env): - - #compile eNB (two cases: one for FDD and one for TDD) - - if do_tests(tests['b210']['alu']['fdd']): - alu = alu_test(epc='amerique', enb='hutch', ue='stevens', - openair=openair_dir, - user=oai_user, password=oai_password, - log_subdir='enb_tests/b210_alu/compile_enb_fdd', - env=env) - - try: - alu.compile_enb("--eNB -w USRP -x -c --disable-cpu-affinity") - except BaseException, e: - log("ERROR: ALU test failed: eNB compilation failed: " + str(e)) - return - - if do_tests(tests['b210']['alu']['tdd']): - alu = alu_test(epc='amerique', enb='calisson', ue='mozart', - openair=openair_dir, - user=oai_user, password=oai_password, - log_subdir='enb_tests/b210_alu/compile_enb_tdd', - env=env) - - try: - alu.compile_enb("--eNB -w USRP -x -c --disable-cpu-affinity") - except BaseException, e: - log("ERROR: ALU test failed: eNB compilation failed: " + str(e)) - return - - #compile RRU/RCC eNB - - if do_tests(tests['remote b210']['alu']['fdd']): - #RRU - alu = alu_test(epc='amerique', ue='stevens', - openair=openair_dir, - user=oai_user, password=oai_password, - log_subdir='enb_tests/remote_b210_alu/compile_enb_rru', - env=env, - #hack: set 'enb' to reuse 'compile_enb' - enb = 'superserver', - enb_rru = 'superserver', enb_rcc = 'starsky') - - try: - alu.compile_enb("--eNB -x -c -w USRP -t ETHERNET", - log_suffix='rru.') - except BaseException, e: - log("ERROR: ALU test failed: RRU eNB compilation failed: "+str(e)) - return - - #RCC - alu = alu_test(epc='amerique', ue='stevens', - openair=openair_dir, - user=oai_user, password=oai_password, - log_subdir='enb_tests/remote_b210_alu/compile_enb_rcc', - env=env, - #hack: set 'enb' to reuse 'compile_enb' - enb = 'starsky', - enb_rru = 'superserver', enb_rcc = 'starsky') - - try: - alu.compile_enb("--eNB -w None -t ETHERNET", - log_suffix='rcc.') - except BaseException, e: - log("ERROR: ALU test failed: RCC eNB compilation failed: "+str(e)) - return - - - #run tests - - udp_dl_bandwidth = { "5" : "15M", - "10" : "30M", - "20" : "60M" } - - udp_ul_bandwidth = { "5" : "7M", - "10" : "15M", - "20" : "15M" } - - ue_machine = { "fdd" : "stevens", - "tdd" : "mozart" } - - enb_machine = { "fdd" : "hutch", - "tdd" : "calisson" } - - band = { "fdd" : "7", - "tdd" : "38" } - - for mode in ('fdd', 'tdd'): - for bw in ('5', '10', '20'): - if do_tests(tests['b210']['alu'][mode][bw]): - log("INFO: ALU test: run tests for bandwidth " + bw + " MHz") - ctest = tests['b210']['alu'][mode][bw] - alu = alu_test(epc='amerique', enb=enb_machine[mode], ue=ue_machine[mode], - openair=openair_dir, - user=oai_user, password=oai_password, - log_subdir='enb_tests/b210_alu/' + mode + "/" + bw, - env=env) - try: - alu.start_epc() - alu.start_enb("enb.band" + band[mode] + ".tm1.usrpb210." + mode + "." + bw + "MHz.conf") - for ue in ('bandrich', '3276'): - if ue in ctest and do_tests(ctest[ue]): - alu.start_ue(ue) - if do_tests(ctest[ue]['tcp']['dl']): alu.dl_tcp(ue) - if do_tests(ctest[ue]['tcp']['ul']): alu.ul_tcp(ue) - if do_tests(ctest[ue]['udp']['dl']): alu.dl_udp(ue, udp_dl_bandwidth[bw]) - if do_tests(ctest[ue]['udp']['ul']): alu.ul_udp(ue, udp_ul_bandwidth[bw]) - alu.stop_ue(ue) - alu.stop_enb() - alu.stop_epc() - except BaseException, e: - log("ERROR: ALU test failed: " + str(e)) - alu.finish() - if do_tests(tests['remote b210']['alu'][mode][bw]): - log("INFO: ALU test: run RRU/RCC tests for bandwidth " + bw + " MHz") - ctest = tests['remote b210']['alu'][mode][bw] - alu = alu_test(epc='amerique', enb='', ue=ue_machine[mode], - openair=openair_dir, - user=oai_user, password=oai_password, - log_subdir='enb_tests/remote_b210_alu/' + bw, - env=env, - enb_rru='superserver', enb_rcc='starsky') - try: - alu.start_epc() - alu.start_enb_rru_rcc("rru.band7.tm1.if4p5." + bw + "MHz.udp.usrpb210.conf", - "rcc.band7.tm1.if4p5." + bw + "MHz.conf") - for ue in ('bandrich', '3276'): - if ue in ctest and do_tests(ctest[ue]): - alu.start_ue(ue) - if do_tests(ctest[ue]['tcp']['dl']): alu.dl_tcp(ue) - if do_tests(ctest[ue]['tcp']['ul']): alu.ul_tcp(ue) - if do_tests(ctest[ue]['udp']['dl']): alu.dl_udp(ue, udp_dl_bandwidth[bw]) - if do_tests(ctest[ue]['udp']['ul']): alu.ul_udp(ue, udp_ul_bandwidth[bw]) - alu.stop_ue(ue) - alu.stop_enb_rru_rcc() - alu.stop_epc() - except BaseException, e: - log("ERROR: ALU test failed: " + str(e)) - alu.finish() diff --git a/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.10MHz.conf b/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.10MHz.conf deleted file mode 100755 index df4ec5d01ca65341a7fe608717c7f7a68afc379f..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.10MHz.conf +++ /dev/null @@ -1,176 +0,0 @@ -Active_eNBs = ( "eNB-Eurecom-LTEBox"); -# Asn1_verbosity, choice in: none, info, annoying -Asn1_verbosity = "none"; - -eNBs = -( - { - ////////// Identification parameters: - eNB_ID = 0xe00; - - cell_type = "CELL_MACRO_ENB"; - - eNB_name = "eNB-Eurecom-LTEBox"; - - // Tracking area code, 0x0000 and 0xfffe are reserved values - tracking_area_code = 1; - plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } ); - - ////////// Physical parameters: - - component_carriers = ( - { - node_function = "eNodeB_3GPP"; - node_timing = "synch_to_ext_device"; - node_synch_ref = 0; - frame_type = "TDD"; - tdd_config = 3; - tdd_config_s = 0; - prefix_type = "NORMAL"; - eutra_band = 38; - downlink_frequency = 2580000000L; - uplink_frequency_offset = 0; - Nid_cell = 0; - N_RB_DL = 50; - Nid_cell_mbsfn = 0; - nb_antenna_ports = 1; - nb_antennas_tx = 1; - nb_antennas_rx = 1; - tx_gain = 90; - rx_gain = 125; - prach_root = 0; - prach_config_index = 0; - prach_high_speed = "DISABLE"; - prach_zero_correlation = 1; - prach_freq_offset = 2; - pucch_delta_shift = 1; - pucch_nRB_CQI = 0; - pucch_nCS_AN = 0; - pucch_n1_AN = 0; - pdsch_referenceSignalPower = -24; - pdsch_p_b = 0; - pusch_n_SB = 1; - pusch_enable64QAM = "DISABLE"; - pusch_hoppingMode = "interSubFrame"; - pusch_hoppingOffset = 0; - pusch_groupHoppingEnabled = "ENABLE"; - pusch_groupAssignment = 0; - pusch_sequenceHoppingEnabled = "DISABLE"; - pusch_nDMRS1 = 1; - phich_duration = "NORMAL"; - phich_resource = "ONESIXTH"; - srs_enable = "DISABLE"; - /* srs_BandwidthConfig =; - srs_SubframeConfig =; - srs_ackNackST =; - srs_MaxUpPts =;*/ - - pusch_p0_Nominal = -90; - pusch_alpha = "AL1"; - pucch_p0_Nominal = -96; - msg3_delta_Preamble = 6; - pucch_deltaF_Format1 = "deltaF2"; - pucch_deltaF_Format1b = "deltaF3"; - pucch_deltaF_Format2 = "deltaF0"; - pucch_deltaF_Format2a = "deltaF0"; - pucch_deltaF_Format2b = "deltaF0"; - - rach_numberOfRA_Preambles = 64; - rach_preamblesGroupAConfig = "DISABLE"; - /* - rach_sizeOfRA_PreamblesGroupA = ; - rach_messageSizeGroupA = ; - rach_messagePowerOffsetGroupB = ; - */ - rach_powerRampingStep = 4; - rach_preambleInitialReceivedTargetPower = -104; - rach_preambleTransMax = 10; - rach_raResponseWindowSize = 10; - rach_macContentionResolutionTimer = 48; - rach_maxHARQ_Msg3Tx = 4; - - pcch_default_PagingCycle = 128; - pcch_nB = "oneT"; - bcch_modificationPeriodCoeff = 2; - ue_TimersAndConstants_t300 = 1000; - ue_TimersAndConstants_t301 = 1000; - ue_TimersAndConstants_t310 = 1000; - ue_TimersAndConstants_t311 = 10000; - ue_TimersAndConstants_n310 = 20; - ue_TimersAndConstants_n311 = 1; - - ue_TransmissionMode = 1; - } - ); - - srb1_parameters : - { - # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500] - timer_poll_retransmit = 80; - - # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200] - timer_reordering = 35; - - # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500] - timer_status_prohibit = 0; - - # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)] - poll_pdu = 4; - - # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)] - poll_byte = 99999; - - # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32] - max_retx_threshold = 4; - } - - # ------- SCTP definitions - SCTP : - { - # Number of streams to use in input/output - SCTP_INSTREAMS = 2; - SCTP_OUTSTREAMS = 2; - }; - - ////////// MME parameters: - - mme_ip_address = ( { ipv4 = "192.168.12.26"; - ipv6 = "192:168:30::17"; - active = "yes"; - preference = "ipv4"; - } - ); - - enable_measurement_reports = "no"; - - ///X2 - enable_x2 = "no"; - t_reloc_prep = 1000; /* unit: millisecond */ - tx2_reloc_overall = 2000; /* unit: millisecond */ - t_dc_prep = 1000; /* unit: millisecond */ - t_dc_overall = 2000; /* unit: millisecond */ - - NETWORK_INTERFACES : - { - ENB_INTERFACE_NAME_FOR_S1_MME = "eth6"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.82/24"; - ENB_INTERFACE_NAME_FOR_S1U = "eth6"; - ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.82/24"; - ENB_PORT_FOR_S1U = 2152; # Spec 2152 - - ENB_IPV4_ADDRESS_FOR_X2C = "192.168.12.82/24"; - ENB_PORT_FOR_X2C = 36422; # Spec 36422 - }; - - log_config : - { - global_log_level ="info"; - hw_log_level ="info"; - phy_log_level ="info"; - mac_log_level ="info"; - rlc_log_level ="info"; - pdcp_log_level ="info"; - rrc_log_level ="info"; - }; - } -); diff --git a/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.20MHz.conf b/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.20MHz.conf deleted file mode 100755 index f9bb8338bf7b1537f3d118c1df571a83db237823..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.20MHz.conf +++ /dev/null @@ -1,176 +0,0 @@ -Active_eNBs = ( "eNB-Eurecom-LTEBox"); -# Asn1_verbosity, choice in: none, info, annoying -Asn1_verbosity = "none"; - -eNBs = -( - { - ////////// Identification parameters: - eNB_ID = 0xe00; - - cell_type = "CELL_MACRO_ENB"; - - eNB_name = "eNB-Eurecom-LTEBox"; - - // Tracking area code, 0x0000 and 0xfffe are reserved values - tracking_area_code = 1; - plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } ); - - ////////// Physical parameters: - - component_carriers = ( - { - node_function = "eNodeB_3GPP"; - node_timing = "synch_to_ext_device"; - node_synch_ref = 0; - frame_type = "TDD"; - tdd_config = 3; - tdd_config_s = 0; - prefix_type = "NORMAL"; - eutra_band = 38; - downlink_frequency = 2580000000L; - uplink_frequency_offset = 0; - Nid_cell = 0; - N_RB_DL = 100; - Nid_cell_mbsfn = 0; - nb_antenna_ports = 1; - nb_antennas_tx = 1; - nb_antennas_rx = 1; - tx_gain = 90; - rx_gain = 125; - prach_root = 0; - prach_config_index = 0; - prach_high_speed = "DISABLE"; - prach_zero_correlation = 1; - prach_freq_offset = 2; - pucch_delta_shift = 1; - pucch_nRB_CQI = 0; - pucch_nCS_AN = 0; - pucch_n1_AN = 0; - pdsch_referenceSignalPower = -24; - pdsch_p_b = 0; - pusch_n_SB = 1; - pusch_enable64QAM = "DISABLE"; - pusch_hoppingMode = "interSubFrame"; - pusch_hoppingOffset = 0; - pusch_groupHoppingEnabled = "ENABLE"; - pusch_groupAssignment = 0; - pusch_sequenceHoppingEnabled = "DISABLE"; - pusch_nDMRS1 = 1; - phich_duration = "NORMAL"; - phich_resource = "ONESIXTH"; - srs_enable = "DISABLE"; - /* srs_BandwidthConfig =; - srs_SubframeConfig =; - srs_ackNackST =; - srs_MaxUpPts =;*/ - - pusch_p0_Nominal = -90; - pusch_alpha = "AL1"; - pucch_p0_Nominal = -96; - msg3_delta_Preamble = 6; - pucch_deltaF_Format1 = "deltaF2"; - pucch_deltaF_Format1b = "deltaF3"; - pucch_deltaF_Format2 = "deltaF0"; - pucch_deltaF_Format2a = "deltaF0"; - pucch_deltaF_Format2b = "deltaF0"; - - rach_numberOfRA_Preambles = 64; - rach_preamblesGroupAConfig = "DISABLE"; - /* - rach_sizeOfRA_PreamblesGroupA = ; - rach_messageSizeGroupA = ; - rach_messagePowerOffsetGroupB = ; - */ - rach_powerRampingStep = 4; - rach_preambleInitialReceivedTargetPower = -104; - rach_preambleTransMax = 10; - rach_raResponseWindowSize = 10; - rach_macContentionResolutionTimer = 48; - rach_maxHARQ_Msg3Tx = 4; - - pcch_default_PagingCycle = 128; - pcch_nB = "oneT"; - bcch_modificationPeriodCoeff = 2; - ue_TimersAndConstants_t300 = 1000; - ue_TimersAndConstants_t301 = 1000; - ue_TimersAndConstants_t310 = 1000; - ue_TimersAndConstants_t311 = 10000; - ue_TimersAndConstants_n310 = 20; - ue_TimersAndConstants_n311 = 1; - - ue_TransmissionMode = 1; - } - ); - - srb1_parameters : - { - # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500] - timer_poll_retransmit = 80; - - # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200] - timer_reordering = 35; - - # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500] - timer_status_prohibit = 0; - - # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)] - poll_pdu = 4; - - # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)] - poll_byte = 99999; - - # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32] - max_retx_threshold = 4; - } - - # ------- SCTP definitions - SCTP : - { - # Number of streams to use in input/output - SCTP_INSTREAMS = 2; - SCTP_OUTSTREAMS = 2; - }; - - ////////// MME parameters: - - mme_ip_address = ( { ipv4 = "192.168.12.26"; - ipv6 = "192:168:30::17"; - active = "yes"; - preference = "ipv4"; - } - ); - - enable_measurement_reports = "no"; - - ///X2 - enable_x2 = "no"; - t_reloc_prep = 1000; /* unit: millisecond */ - tx2_reloc_overall = 2000; /* unit: millisecond */ - t_dc_prep = 1000; /* unit: millisecond */ - t_dc_overall = 2000; /* unit: millisecond */ - - NETWORK_INTERFACES : - { - ENB_INTERFACE_NAME_FOR_S1_MME = "eth6"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.82/24"; - ENB_INTERFACE_NAME_FOR_S1U = "eth6"; - ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.82/24"; - ENB_PORT_FOR_S1U = 2152; # Spec 2152 - - ENB_IPV4_ADDRESS_FOR_X2C = "192.168.12.82/24"; - ENB_PORT_FOR_X2C = 36422; # Spec 36422 - }; - - log_config : - { - global_log_level ="info"; - hw_log_level ="info"; - phy_log_level ="info"; - mac_log_level ="info"; - rlc_log_level ="info"; - pdcp_log_level ="info"; - rrc_log_level ="info"; - }; - } -); diff --git a/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.5MHz.conf b/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.5MHz.conf deleted file mode 100755 index 5c3d9214bc7f6a847a0da42c75cfff11da53d544..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/config/enb.band38.tm1.usrpb210.tdd.5MHz.conf +++ /dev/null @@ -1,176 +0,0 @@ -Active_eNBs = ( "eNB-Eurecom-LTEBox"); -# Asn1_verbosity, choice in: none, info, annoying -Asn1_verbosity = "none"; - -eNBs = -( - { - ////////// Identification parameters: - eNB_ID = 0xe00; - - cell_type = "CELL_MACRO_ENB"; - - eNB_name = "eNB-Eurecom-LTEBox"; - - // Tracking area code, 0x0000 and 0xfffe are reserved values - tracking_area_code = 1; - plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } ); - - ////////// Physical parameters: - - component_carriers = ( - { - node_function = "eNodeB_3GPP"; - node_timing = "synch_to_ext_device"; - node_synch_ref = 0; - frame_type = "TDD"; - tdd_config = 3; - tdd_config_s = 0; - prefix_type = "NORMAL"; - eutra_band = 38; - downlink_frequency = 2580000000L; - uplink_frequency_offset = 0; - Nid_cell = 0; - N_RB_DL = 25; - Nid_cell_mbsfn = 0; - nb_antenna_ports = 1; - nb_antennas_tx = 1; - nb_antennas_rx = 1; - tx_gain = 90; - rx_gain = 125; - prach_root = 0; - prach_config_index = 0; - prach_high_speed = "DISABLE"; - prach_zero_correlation = 1; - prach_freq_offset = 2; - pucch_delta_shift = 1; - pucch_nRB_CQI = 0; - pucch_nCS_AN = 0; - pucch_n1_AN = 0; - pdsch_referenceSignalPower = -24; - pdsch_p_b = 0; - pusch_n_SB = 1; - pusch_enable64QAM = "DISABLE"; - pusch_hoppingMode = "interSubFrame"; - pusch_hoppingOffset = 0; - pusch_groupHoppingEnabled = "ENABLE"; - pusch_groupAssignment = 0; - pusch_sequenceHoppingEnabled = "DISABLE"; - pusch_nDMRS1 = 1; - phich_duration = "NORMAL"; - phich_resource = "ONESIXTH"; - srs_enable = "DISABLE"; - /* srs_BandwidthConfig =; - srs_SubframeConfig =; - srs_ackNackST =; - srs_MaxUpPts =;*/ - - pusch_p0_Nominal = -90; - pusch_alpha = "AL1"; - pucch_p0_Nominal = -96; - msg3_delta_Preamble = 6; - pucch_deltaF_Format1 = "deltaF2"; - pucch_deltaF_Format1b = "deltaF3"; - pucch_deltaF_Format2 = "deltaF0"; - pucch_deltaF_Format2a = "deltaF0"; - pucch_deltaF_Format2b = "deltaF0"; - - rach_numberOfRA_Preambles = 64; - rach_preamblesGroupAConfig = "DISABLE"; - /* - rach_sizeOfRA_PreamblesGroupA = ; - rach_messageSizeGroupA = ; - rach_messagePowerOffsetGroupB = ; - */ - rach_powerRampingStep = 4; - rach_preambleInitialReceivedTargetPower = -104; - rach_preambleTransMax = 10; - rach_raResponseWindowSize = 10; - rach_macContentionResolutionTimer = 48; - rach_maxHARQ_Msg3Tx = 4; - - pcch_default_PagingCycle = 128; - pcch_nB = "oneT"; - bcch_modificationPeriodCoeff = 2; - ue_TimersAndConstants_t300 = 1000; - ue_TimersAndConstants_t301 = 1000; - ue_TimersAndConstants_t310 = 1000; - ue_TimersAndConstants_t311 = 10000; - ue_TimersAndConstants_n310 = 20; - ue_TimersAndConstants_n311 = 1; - - ue_TransmissionMode = 1; - } - ); - - srb1_parameters : - { - # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500] - timer_poll_retransmit = 80; - - # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200] - timer_reordering = 35; - - # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500] - timer_status_prohibit = 0; - - # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)] - poll_pdu = 4; - - # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)] - poll_byte = 99999; - - # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32] - max_retx_threshold = 4; - } - - # ------- SCTP definitions - SCTP : - { - # Number of streams to use in input/output - SCTP_INSTREAMS = 2; - SCTP_OUTSTREAMS = 2; - }; - - ////////// MME parameters: - - mme_ip_address = ( { ipv4 = "192.168.12.26"; - ipv6 = "192:168:30::17"; - active = "yes"; - preference = "ipv4"; - } - ); - - enable_measurement_reports = "no"; - - ///X2 - enable_x2 = "no"; - t_reloc_prep = 1000; /* unit: millisecond */ - tx2_reloc_overall = 2000; /* unit: millisecond */ - t_dc_prep = 1000; /* unit: millisecond */ - t_dc_overall = 2000; /* unit: millisecond */ - - NETWORK_INTERFACES : - { - ENB_INTERFACE_NAME_FOR_S1_MME = "eth6"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.82/24"; - ENB_INTERFACE_NAME_FOR_S1U = "eth6"; - ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.82/24"; - ENB_PORT_FOR_S1U = 2152; # Spec 2152 - - ENB_IPV4_ADDRESS_FOR_X2C = "192.168.12.82/24"; - ENB_PORT_FOR_X2C = 36422; # Spec 36422 - }; - - log_config : - { - global_log_level ="info"; - hw_log_level ="info"; - phy_log_level ="info"; - mac_log_level ="info"; - rlc_log_level ="info"; - pdcp_log_level ="info"; - rrc_log_level ="info"; - }; - } -); diff --git a/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.10MHz.conf b/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.10MHz.conf deleted file mode 100755 index f214f12783a95fdbfab030c3ff56dd6a7c0107d4..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.10MHz.conf +++ /dev/null @@ -1,176 +0,0 @@ -Active_eNBs = ( "eNB-Eurecom-LTEBox"); -# Asn1_verbosity, choice in: none, info, annoying -Asn1_verbosity = "none"; - -eNBs = -( - { - ////////// Identification parameters: - eNB_ID = 0xe00; - - cell_type = "CELL_MACRO_ENB"; - - eNB_name = "eNB-Eurecom-LTEBox"; - - // Tracking area code, 0x0000 and 0xfffe are reserved values - tracking_area_code = 1; - plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } ); - - ////////// Physical parameters: - - component_carriers = ( - { - node_function = "eNodeB_3GPP"; - node_timing = "synch_to_ext_device"; - node_synch_ref = 0; - frame_type = "FDD"; - tdd_config = 3; - tdd_config_s = 0; - prefix_type = "NORMAL"; - eutra_band = 7; - downlink_frequency = 2660000000L; - uplink_frequency_offset = -120000000; - Nid_cell = 0; - N_RB_DL = 50; - Nid_cell_mbsfn = 0; - nb_antenna_ports = 1; - nb_antennas_tx = 1; - nb_antennas_rx = 1; - tx_gain = 90; - rx_gain = 125; - prach_root = 0; - prach_config_index = 0; - prach_high_speed = "DISABLE"; - prach_zero_correlation = 1; - prach_freq_offset = 2; - pucch_delta_shift = 1; - pucch_nRB_CQI = 0; - pucch_nCS_AN = 0; - pucch_n1_AN = 0; - pdsch_referenceSignalPower = -24; - pdsch_p_b = 0; - pusch_n_SB = 1; - pusch_enable64QAM = "DISABLE"; - pusch_hoppingMode = "interSubFrame"; - pusch_hoppingOffset = 0; - pusch_groupHoppingEnabled = "ENABLE"; - pusch_groupAssignment = 0; - pusch_sequenceHoppingEnabled = "DISABLE"; - pusch_nDMRS1 = 1; - phich_duration = "NORMAL"; - phich_resource = "ONESIXTH"; - srs_enable = "DISABLE"; - /* srs_BandwidthConfig =; - srs_SubframeConfig =; - srs_ackNackST =; - srs_MaxUpPts =;*/ - - pusch_p0_Nominal = -96; - pusch_alpha = "AL1"; - pucch_p0_Nominal = -103; - msg3_delta_Preamble = 6; - pucch_deltaF_Format1 = "deltaF2"; - pucch_deltaF_Format1b = "deltaF3"; - pucch_deltaF_Format2 = "deltaF0"; - pucch_deltaF_Format2a = "deltaF0"; - pucch_deltaF_Format2b = "deltaF0"; - - rach_numberOfRA_Preambles = 64; - rach_preamblesGroupAConfig = "DISABLE"; - /* - rach_sizeOfRA_PreamblesGroupA = ; - rach_messageSizeGroupA = ; - rach_messagePowerOffsetGroupB = ; - */ - rach_powerRampingStep = 4; - rach_preambleInitialReceivedTargetPower = -104; - rach_preambleTransMax = 10; - rach_raResponseWindowSize = 10; - rach_macContentionResolutionTimer = 48; - rach_maxHARQ_Msg3Tx = 4; - - pcch_default_PagingCycle = 128; - pcch_nB = "oneT"; - bcch_modificationPeriodCoeff = 2; - ue_TimersAndConstants_t300 = 1000; - ue_TimersAndConstants_t301 = 1000; - ue_TimersAndConstants_t310 = 1000; - ue_TimersAndConstants_t311 = 10000; - ue_TimersAndConstants_n310 = 20; - ue_TimersAndConstants_n311 = 1; - - ue_TransmissionMode = 1; - } - ); - - srb1_parameters : - { - # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500] - timer_poll_retransmit = 80; - - # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200] - timer_reordering = 35; - - # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500] - timer_status_prohibit = 0; - - # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)] - poll_pdu = 4; - - # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)] - poll_byte = 99999; - - # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32] - max_retx_threshold = 4; - } - - # ------- SCTP definitions - SCTP : - { - # Number of streams to use in input/output - SCTP_INSTREAMS = 2; - SCTP_OUTSTREAMS = 2; - }; - - ////////// MME parameters: - - mme_ip_address = ( { ipv4 = "192.168.12.26"; - ipv6 = "192:168:30::17"; - active = "yes"; - preference = "ipv4"; - } - ); - - enable_measurement_reports = "no"; - - ///X2 - enable_x2 = "no"; - t_reloc_prep = 1000; /* unit: millisecond */ - tx2_reloc_overall = 2000; /* unit: millisecond */ - t_dc_prep = 1000; /* unit: millisecond */ - t_dc_overall = 2000; /* unit: millisecond */ - - NETWORK_INTERFACES : - { - ENB_INTERFACE_NAME_FOR_S1_MME = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.19/24"; - ENB_INTERFACE_NAME_FOR_S1U = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.19/24"; - ENB_PORT_FOR_S1U = 2152; # Spec 2152 - - ENB_IPV4_ADDRESS_FOR_X2C = "192.168.12.19/24"; - ENB_PORT_FOR_X2C = 36422; # Spec 36422 - }; - - log_config : - { - global_log_level ="info"; - hw_log_level ="info"; - phy_log_level ="info"; - mac_log_level ="info"; - rlc_log_level ="info"; - pdcp_log_level ="info"; - rrc_log_level ="info"; - }; - } -); diff --git a/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.20MHz.conf b/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.20MHz.conf deleted file mode 100755 index f9f70281cadc0523426e7df24bf4808d81751d7a..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.20MHz.conf +++ /dev/null @@ -1,176 +0,0 @@ -Active_eNBs = ( "eNB-Eurecom-LTEBox"); -# Asn1_verbosity, choice in: none, info, annoying -Asn1_verbosity = "none"; - -eNBs = -( - { - ////////// Identification parameters: - eNB_ID = 0xe00; - - cell_type = "CELL_MACRO_ENB"; - - eNB_name = "eNB-Eurecom-LTEBox"; - - // Tracking area code, 0x0000 and 0xfffe are reserved values - tracking_area_code = 1; - plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } ); - - ////////// Physical parameters: - - component_carriers = ( - { - node_function = "eNodeB_3GPP"; - node_timing = "synch_to_ext_device"; - node_synch_ref = 0; - frame_type = "FDD"; - tdd_config = 3; - tdd_config_s = 0; - prefix_type = "NORMAL"; - eutra_band = 7; - downlink_frequency = 2660000000L; - uplink_frequency_offset = -120000000; - Nid_cell = 0; - N_RB_DL = 100; - Nid_cell_mbsfn = 0; - nb_antenna_ports = 1; - nb_antennas_tx = 1; - nb_antennas_rx = 1; - tx_gain = 90; - rx_gain = 125; - prach_root = 0; - prach_config_index = 0; - prach_high_speed = "DISABLE"; - prach_zero_correlation = 1; - prach_freq_offset = 2; - pucch_delta_shift = 1; - pucch_nRB_CQI = 0; - pucch_nCS_AN = 0; - pucch_n1_AN = 0; - pdsch_referenceSignalPower = -24; - pdsch_p_b = 0; - pusch_n_SB = 1; - pusch_enable64QAM = "DISABLE"; - pusch_hoppingMode = "interSubFrame"; - pusch_hoppingOffset = 0; - pusch_groupHoppingEnabled = "ENABLE"; - pusch_groupAssignment = 0; - pusch_sequenceHoppingEnabled = "DISABLE"; - pusch_nDMRS1 = 1; - phich_duration = "NORMAL"; - phich_resource = "ONESIXTH"; - srs_enable = "DISABLE"; - /* srs_BandwidthConfig =; - srs_SubframeConfig =; - srs_ackNackST =; - srs_MaxUpPts =;*/ - - pusch_p0_Nominal = -96; - pusch_alpha = "AL1"; - pucch_p0_Nominal = -103; - msg3_delta_Preamble = 6; - pucch_deltaF_Format1 = "deltaF2"; - pucch_deltaF_Format1b = "deltaF3"; - pucch_deltaF_Format2 = "deltaF0"; - pucch_deltaF_Format2a = "deltaF0"; - pucch_deltaF_Format2b = "deltaF0"; - - rach_numberOfRA_Preambles = 64; - rach_preamblesGroupAConfig = "DISABLE"; - /* - rach_sizeOfRA_PreamblesGroupA = ; - rach_messageSizeGroupA = ; - rach_messagePowerOffsetGroupB = ; - */ - rach_powerRampingStep = 4; - rach_preambleInitialReceivedTargetPower = -104; - rach_preambleTransMax = 10; - rach_raResponseWindowSize = 10; - rach_macContentionResolutionTimer = 48; - rach_maxHARQ_Msg3Tx = 4; - - pcch_default_PagingCycle = 128; - pcch_nB = "oneT"; - bcch_modificationPeriodCoeff = 2; - ue_TimersAndConstants_t300 = 1000; - ue_TimersAndConstants_t301 = 1000; - ue_TimersAndConstants_t310 = 1000; - ue_TimersAndConstants_t311 = 10000; - ue_TimersAndConstants_n310 = 20; - ue_TimersAndConstants_n311 = 1; - - ue_TransmissionMode = 1; - } - ); - - srb1_parameters : - { - # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500] - timer_poll_retransmit = 80; - - # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200] - timer_reordering = 35; - - # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500] - timer_status_prohibit = 0; - - # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)] - poll_pdu = 4; - - # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)] - poll_byte = 99999; - - # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32] - max_retx_threshold = 4; - } - - # ------- SCTP definitions - SCTP : - { - # Number of streams to use in input/output - SCTP_INSTREAMS = 2; - SCTP_OUTSTREAMS = 2; - }; - - ////////// MME parameters: - - mme_ip_address = ( { ipv4 = "192.168.12.26"; - ipv6 = "192:168:30::17"; - active = "yes"; - preference = "ipv4"; - } - ); - - enable_measurement_reports = "no"; - - ///X2 - enable_x2 = "no"; - t_reloc_prep = 1000; /* unit: millisecond */ - tx2_reloc_overall = 2000; /* unit: millisecond */ - t_dc_prep = 1000; /* unit: millisecond */ - t_dc_overall = 2000; /* unit: millisecond */ - - NETWORK_INTERFACES : - { - ENB_INTERFACE_NAME_FOR_S1_MME = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.19/24"; - ENB_INTERFACE_NAME_FOR_S1U = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.19/24"; - ENB_PORT_FOR_S1U = 2152; # Spec 2152 - - ENB_IPV4_ADDRESS_FOR_X2C = "192.168.12.19/24"; - ENB_PORT_FOR_X2C = 36422; # Spec 36422 - }; - - log_config : - { - global_log_level ="info"; - hw_log_level ="info"; - phy_log_level ="info"; - mac_log_level ="info"; - rlc_log_level ="info"; - pdcp_log_level ="info"; - rrc_log_level ="info"; - }; - } -); diff --git a/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.5MHz.conf b/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.5MHz.conf deleted file mode 100755 index 87deb031727fd554cd67347324f201d75e1e6c1d..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/config/enb.band7.tm1.usrpb210.fdd.5MHz.conf +++ /dev/null @@ -1,176 +0,0 @@ -Active_eNBs = ( "eNB-Eurecom-LTEBox"); -# Asn1_verbosity, choice in: none, info, annoying -Asn1_verbosity = "none"; - -eNBs = -( - { - ////////// Identification parameters: - eNB_ID = 0xe00; - - cell_type = "CELL_MACRO_ENB"; - - eNB_name = "eNB-Eurecom-LTEBox"; - - // Tracking area code, 0x0000 and 0xfffe are reserved values - tracking_area_code = 1; - plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } ); - - ////////// Physical parameters: - - component_carriers = ( - { - node_function = "eNodeB_3GPP"; - node_timing = "synch_to_ext_device"; - node_synch_ref = 0; - frame_type = "FDD"; - tdd_config = 3; - tdd_config_s = 0; - prefix_type = "NORMAL"; - eutra_band = 7; - downlink_frequency = 2660000000L; - uplink_frequency_offset = -120000000; - Nid_cell = 0; - N_RB_DL = 25; - Nid_cell_mbsfn = 0; - nb_antenna_ports = 1; - nb_antennas_tx = 1; - nb_antennas_rx = 1; - tx_gain = 90; - rx_gain = 125; - prach_root = 0; - prach_config_index = 0; - prach_high_speed = "DISABLE"; - prach_zero_correlation = 1; - prach_freq_offset = 2; - pucch_delta_shift = 1; - pucch_nRB_CQI = 0; - pucch_nCS_AN = 0; - pucch_n1_AN = 0; - pdsch_referenceSignalPower = -24; - pdsch_p_b = 0; - pusch_n_SB = 1; - pusch_enable64QAM = "DISABLE"; - pusch_hoppingMode = "interSubFrame"; - pusch_hoppingOffset = 0; - pusch_groupHoppingEnabled = "ENABLE"; - pusch_groupAssignment = 0; - pusch_sequenceHoppingEnabled = "DISABLE"; - pusch_nDMRS1 = 1; - phich_duration = "NORMAL"; - phich_resource = "ONESIXTH"; - srs_enable = "DISABLE"; - /* srs_BandwidthConfig =; - srs_SubframeConfig =; - srs_ackNackST =; - srs_MaxUpPts =;*/ - - pusch_p0_Nominal = -96; - pusch_alpha = "AL1"; - pucch_p0_Nominal = -103; - msg3_delta_Preamble = 6; - pucch_deltaF_Format1 = "deltaF2"; - pucch_deltaF_Format1b = "deltaF3"; - pucch_deltaF_Format2 = "deltaF0"; - pucch_deltaF_Format2a = "deltaF0"; - pucch_deltaF_Format2b = "deltaF0"; - - rach_numberOfRA_Preambles = 64; - rach_preamblesGroupAConfig = "DISABLE"; - /* - rach_sizeOfRA_PreamblesGroupA = ; - rach_messageSizeGroupA = ; - rach_messagePowerOffsetGroupB = ; - */ - rach_powerRampingStep = 4; - rach_preambleInitialReceivedTargetPower = -104; - rach_preambleTransMax = 10; - rach_raResponseWindowSize = 10; - rach_macContentionResolutionTimer = 48; - rach_maxHARQ_Msg3Tx = 4; - - pcch_default_PagingCycle = 128; - pcch_nB = "oneT"; - bcch_modificationPeriodCoeff = 2; - ue_TimersAndConstants_t300 = 1000; - ue_TimersAndConstants_t301 = 1000; - ue_TimersAndConstants_t310 = 1000; - ue_TimersAndConstants_t311 = 10000; - ue_TimersAndConstants_n310 = 20; - ue_TimersAndConstants_n311 = 1; - - ue_TransmissionMode = 1; - } - ); - - srb1_parameters : - { - # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500] - timer_poll_retransmit = 80; - - # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200] - timer_reordering = 35; - - # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500] - timer_status_prohibit = 0; - - # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)] - poll_pdu = 4; - - # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)] - poll_byte = 99999; - - # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32] - max_retx_threshold = 4; - } - - # ------- SCTP definitions - SCTP : - { - # Number of streams to use in input/output - SCTP_INSTREAMS = 2; - SCTP_OUTSTREAMS = 2; - }; - - ////////// MME parameters: - - mme_ip_address = ( { ipv4 = "192.168.12.26"; - ipv6 = "192:168:30::17"; - active = "yes"; - preference = "ipv4"; - } - ); - - enable_measurement_reports = "no"; - - ///X2 - enable_x2 = "no"; - t_reloc_prep = 1000; /* unit: millisecond */ - tx2_reloc_overall = 2000; /* unit: millisecond */ - t_dc_prep = 1000; /* unit: millisecond */ - t_dc_overall = 2000; /* unit: millisecond */ - - NETWORK_INTERFACES : - { - ENB_INTERFACE_NAME_FOR_S1_MME = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.19/24"; - ENB_INTERFACE_NAME_FOR_S1U = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.19/24"; - ENB_PORT_FOR_S1U = 2152; # Spec 2152 - - ENB_IPV4_ADDRESS_FOR_X2C = "192.168.12.19/24"; - ENB_PORT_FOR_X2C = 36422; # Spec 36422 - }; - - log_config : - { - global_log_level ="info"; - hw_log_level ="info"; - phy_log_level ="info"; - mac_log_level ="info"; - rlc_log_level ="info"; - pdcp_log_level ="info"; - rrc_log_level ="info"; - }; - } -); diff --git a/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.10MHz.conf b/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.10MHz.conf deleted file mode 100755 index 039b1d8aa3f6d871645b925c97ac40ee707e9353..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.10MHz.conf +++ /dev/null @@ -1,193 +0,0 @@ -Active_eNBs = ( "eNB-Eurecom-LTEBox"); -# Asn1_verbosity, choice in: none, info, annoying -Asn1_verbosity = "none"; - -eNBs = -( - { - ////////// Identification parameters: - eNB_ID = 0xe00; - - cell_type = "CELL_MACRO_ENB"; - - eNB_name = "eNB-Eurecom-LTEBox"; - - // Tracking area code, 0x0000 and 0xfffe are reserved values - tracking_area_code = 1; - plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } ); - - ////////// Physical parameters: - - component_carriers = ( - { - node_function = "NGFI_RCC_IF4p5"; - node_timing = "synch_to_ext_device"; - node_synch_ref = 0; - frame_type = "FDD"; - tdd_config = 3; - tdd_config_s = 0; - prefix_type = "NORMAL"; - eutra_band = 7; - downlink_frequency = 2660000000L; - uplink_frequency_offset = -120000000; - Nid_cell = 0; - N_RB_DL = 50; - Nid_cell_mbsfn = 0; - nb_antenna_ports = 1; - nb_antennas_tx = 1; - nb_antennas_rx = 1; - tx_gain = 90; - rx_gain = 125; - prach_root = 0; - prach_config_index = 0; - prach_high_speed = "DISABLE"; - prach_zero_correlation = 1; - prach_freq_offset = 2; - pucch_delta_shift = 1; - pucch_nRB_CQI = 0; - pucch_nCS_AN = 0; - pucch_n1_AN = 0; - pdsch_referenceSignalPower = -29; - pdsch_p_b = 0; - pusch_n_SB = 1; - pusch_enable64QAM = "DISABLE"; - pusch_hoppingMode = "interSubFrame"; - pusch_hoppingOffset = 0; - pusch_groupHoppingEnabled = "ENABLE"; - pusch_groupAssignment = 0; - pusch_sequenceHoppingEnabled = "DISABLE"; - pusch_nDMRS1 = 1; - phich_duration = "NORMAL"; - phich_resource = "ONESIXTH"; - srs_enable = "DISABLE"; - /* srs_BandwidthConfig =; - srs_SubframeConfig =; - srs_ackNackST =; - srs_MaxUpPts =;*/ - - pusch_p0_Nominal = -96; - pusch_alpha = "AL1"; - pucch_p0_Nominal = -104; - msg3_delta_Preamble = 6; - pucch_deltaF_Format1 = "deltaF2"; - pucch_deltaF_Format1b = "deltaF3"; - pucch_deltaF_Format2 = "deltaF0"; - pucch_deltaF_Format2a = "deltaF0"; - pucch_deltaF_Format2b = "deltaF0"; - - rach_numberOfRA_Preambles = 64; - rach_preamblesGroupAConfig = "DISABLE"; - /* - rach_sizeOfRA_PreamblesGroupA = ; - rach_messageSizeGroupA = ; - rach_messagePowerOffsetGroupB = ; - */ - rach_powerRampingStep = 4; - rach_preambleInitialReceivedTargetPower = -108; - rach_preambleTransMax = 10; - rach_raResponseWindowSize = 10; - rach_macContentionResolutionTimer = 48; - rach_maxHARQ_Msg3Tx = 4; - - pcch_default_PagingCycle = 128; - pcch_nB = "oneT"; - bcch_modificationPeriodCoeff = 2; - ue_TimersAndConstants_t300 = 1000; - ue_TimersAndConstants_t301 = 1000; - ue_TimersAndConstants_t310 = 1000; - ue_TimersAndConstants_t311 = 10000; - ue_TimersAndConstants_n310 = 20; - ue_TimersAndConstants_n311 = 1; - ue_TransmissionMode = 1; - } - ); - - - srb1_parameters : - { - # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500] - timer_poll_retransmit = 80; - - # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200] - timer_reordering = 35; - - # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500] - timer_status_prohibit = 0; - - # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)] - poll_pdu = 4; - - # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)] - poll_byte = 99999; - - # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32] - max_retx_threshold = 4; - } - - # ------- SCTP definitions - SCTP : - { - # Number of streams to use in input/output - SCTP_INSTREAMS = 2; - SCTP_OUTSTREAMS = 2; - }; - - - ////////// MME parameters: - mme_ip_address = ( { ipv4 = "192.168.12.26"; - ipv6 = "192:168:30::17"; - active = "yes"; - preference = "ipv4"; - } - ); - - enable_measurement_reports = "no"; - - ///X2 - enable_x2 = "no"; - t_reloc_prep = 1000; /* unit: millisecond */ - tx2_reloc_overall = 2000; /* unit: millisecond */ - t_dc_prep = 1000; /* unit: millisecond */ - t_dc_overall = 2000; /* unit: millisecond */ - - NETWORK_INTERFACES : - { - ENB_INTERFACE_NAME_FOR_S1_MME = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.18/24"; - ENB_INTERFACE_NAME_FOR_S1U = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.18/24"; - ENB_PORT_FOR_S1U = 2152; # Spec 2152 - - ENB_IPV4_ADDRESS_FOR_X2C = "192.168.12.18/24"; - ENB_PORT_FOR_X2C = 36422; # Spec 36422 - }; - - rrh_gw_config = ( - { - local_if_name = "eth1"; - remote_address = "10.10.10.157"; - local_address = "10.10.10.18"; - local_port = 50000; #for raw option local port must be the same to remote - remote_port = 50000; - rrh_gw_active = "yes"; - tr_preference = "udp_if4p5"; - rf_preference = "usrp_b200"; - iq_txshift = 4; - tx_sample_advance = 80; - tx_scheduling_advance = 9; - if_compression = "alaw"; - } - ); - - log_config : - { - global_log_level ="info"; - hw_log_level ="info"; - phy_log_level ="info"; - mac_log_level ="info"; - rlc_log_level ="info"; - pdcp_log_level ="info"; - rrc_log_level ="info"; - }; - } -); diff --git a/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.20MHz.conf b/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.20MHz.conf deleted file mode 100755 index 3c70040bfc0f4b3983206c28434598067e578ceb..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.20MHz.conf +++ /dev/null @@ -1,193 +0,0 @@ -Active_eNBs = ( "eNB-Eurecom-LTEBox"); -# Asn1_verbosity, choice in: none, info, annoying -Asn1_verbosity = "none"; - -eNBs = -( - { - ////////// Identification parameters: - eNB_ID = 0xe00; - - cell_type = "CELL_MACRO_ENB"; - - eNB_name = "eNB-Eurecom-LTEBox"; - - // Tracking area code, 0x0000 and 0xfffe are reserved values - tracking_area_code = 1; - plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } ); - - ////////// Physical parameters: - - component_carriers = ( - { - node_function = "NGFI_RCC_IF4p5"; - node_timing = "synch_to_ext_device"; - node_synch_ref = 0; - frame_type = "FDD"; - tdd_config = 3; - tdd_config_s = 0; - prefix_type = "NORMAL"; - eutra_band = 7; - downlink_frequency = 2660000000L; - uplink_frequency_offset = -120000000; - Nid_cell = 0; - N_RB_DL = 100; - Nid_cell_mbsfn = 0; - nb_antenna_ports = 1; - nb_antennas_tx = 1; - nb_antennas_rx = 1; - tx_gain = 90; - rx_gain = 125; - prach_root = 0; - prach_config_index = 0; - prach_high_speed = "DISABLE"; - prach_zero_correlation = 1; - prach_freq_offset = 2; - pucch_delta_shift = 1; - pucch_nRB_CQI = 0; - pucch_nCS_AN = 0; - pucch_n1_AN = 0; - pdsch_referenceSignalPower = -29; - pdsch_p_b = 0; - pusch_n_SB = 1; - pusch_enable64QAM = "DISABLE"; - pusch_hoppingMode = "interSubFrame"; - pusch_hoppingOffset = 0; - pusch_groupHoppingEnabled = "ENABLE"; - pusch_groupAssignment = 0; - pusch_sequenceHoppingEnabled = "DISABLE"; - pusch_nDMRS1 = 1; - phich_duration = "NORMAL"; - phich_resource = "ONESIXTH"; - srs_enable = "DISABLE"; - /* srs_BandwidthConfig =; - srs_SubframeConfig =; - srs_ackNackST =; - srs_MaxUpPts =;*/ - - pusch_p0_Nominal = -96; - pusch_alpha = "AL1"; - pucch_p0_Nominal = -104; - msg3_delta_Preamble = 6; - pucch_deltaF_Format1 = "deltaF2"; - pucch_deltaF_Format1b = "deltaF3"; - pucch_deltaF_Format2 = "deltaF0"; - pucch_deltaF_Format2a = "deltaF0"; - pucch_deltaF_Format2b = "deltaF0"; - - rach_numberOfRA_Preambles = 64; - rach_preamblesGroupAConfig = "DISABLE"; - /* - rach_sizeOfRA_PreamblesGroupA = ; - rach_messageSizeGroupA = ; - rach_messagePowerOffsetGroupB = ; - */ - rach_powerRampingStep = 4; - rach_preambleInitialReceivedTargetPower = -108; - rach_preambleTransMax = 10; - rach_raResponseWindowSize = 10; - rach_macContentionResolutionTimer = 48; - rach_maxHARQ_Msg3Tx = 4; - - pcch_default_PagingCycle = 128; - pcch_nB = "oneT"; - bcch_modificationPeriodCoeff = 2; - ue_TimersAndConstants_t300 = 1000; - ue_TimersAndConstants_t301 = 1000; - ue_TimersAndConstants_t310 = 1000; - ue_TimersAndConstants_t311 = 10000; - ue_TimersAndConstants_n310 = 20; - ue_TimersAndConstants_n311 = 1; - ue_TransmissionMode = 1; - } - ); - - - srb1_parameters : - { - # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500] - timer_poll_retransmit = 80; - - # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200] - timer_reordering = 35; - - # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500] - timer_status_prohibit = 0; - - # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)] - poll_pdu = 4; - - # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)] - poll_byte = 99999; - - # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32] - max_retx_threshold = 4; - } - - # ------- SCTP definitions - SCTP : - { - # Number of streams to use in input/output - SCTP_INSTREAMS = 2; - SCTP_OUTSTREAMS = 2; - }; - - - ////////// MME parameters: - mme_ip_address = ( { ipv4 = "192.168.12.26"; - ipv6 = "192:168:30::17"; - active = "yes"; - preference = "ipv4"; - } - ); - - enable_measurement_reports = "no"; - - ///X2 - enable_x2 = "no"; - t_reloc_prep = 1000; /* unit: millisecond */ - tx2_reloc_overall = 2000; /* unit: millisecond */ - t_dc_prep = 1000; /* unit: millisecond */ - t_dc_overall = 2000; /* unit: millisecond */ - - NETWORK_INTERFACES : - { - ENB_INTERFACE_NAME_FOR_S1_MME = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.18/24"; - ENB_INTERFACE_NAME_FOR_S1U = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.18/24"; - ENB_PORT_FOR_S1U = 2152; # Spec 2152 - - ENB_IPV4_ADDRESS_FOR_X2C = "192.168.12.18/24"; - ENB_PORT_FOR_X2C = 36422; # Spec 36422 - }; - - rrh_gw_config = ( - { - local_if_name = "eth1"; - remote_address = "10.10.10.157"; - local_address = "10.10.10.18"; - local_port = 50000; #for raw option local port must be the same to remote - remote_port = 50000; - rrh_gw_active = "yes"; - tr_preference = "udp_if4p5"; - rf_preference = "usrp_b200"; - iq_txshift = 4; - tx_sample_advance = 80; - tx_scheduling_advance = 9; - if_compression = "alaw"; - } - ); - - log_config : - { - global_log_level ="info"; - hw_log_level ="info"; - phy_log_level ="info"; - mac_log_level ="info"; - rlc_log_level ="info"; - pdcp_log_level ="info"; - rrc_log_level ="info"; - }; - } -); diff --git a/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.5MHz.conf b/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.5MHz.conf deleted file mode 100755 index f9d3da2c35ba5e45e31ed963a908b1f5cdb0bfd5..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/config/rcc.band7.tm1.if4p5.5MHz.conf +++ /dev/null @@ -1,193 +0,0 @@ -Active_eNBs = ( "eNB-Eurecom-LTEBox"); -# Asn1_verbosity, choice in: none, info, annoying -Asn1_verbosity = "none"; - -eNBs = -( - { - ////////// Identification parameters: - eNB_ID = 0xe00; - - cell_type = "CELL_MACRO_ENB"; - - eNB_name = "eNB-Eurecom-LTEBox"; - - // Tracking area code, 0x0000 and 0xfffe are reserved values - tracking_area_code = 1; - plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } ); - - ////////// Physical parameters: - - component_carriers = ( - { - node_function = "NGFI_RCC_IF4p5"; - node_timing = "synch_to_ext_device"; - node_synch_ref = 0; - frame_type = "FDD"; - tdd_config = 3; - tdd_config_s = 0; - prefix_type = "NORMAL"; - eutra_band = 7; - downlink_frequency = 2660000000L; - uplink_frequency_offset = -120000000; - Nid_cell = 0; - N_RB_DL = 25; - Nid_cell_mbsfn = 0; - nb_antenna_ports = 1; - nb_antennas_tx = 1; - nb_antennas_rx = 1; - tx_gain = 90; - rx_gain = 125; - prach_root = 0; - prach_config_index = 0; - prach_high_speed = "DISABLE"; - prach_zero_correlation = 1; - prach_freq_offset = 2; - pucch_delta_shift = 1; - pucch_nRB_CQI = 0; - pucch_nCS_AN = 0; - pucch_n1_AN = 0; - pdsch_referenceSignalPower = -29; - pdsch_p_b = 0; - pusch_n_SB = 1; - pusch_enable64QAM = "DISABLE"; - pusch_hoppingMode = "interSubFrame"; - pusch_hoppingOffset = 0; - pusch_groupHoppingEnabled = "ENABLE"; - pusch_groupAssignment = 0; - pusch_sequenceHoppingEnabled = "DISABLE"; - pusch_nDMRS1 = 1; - phich_duration = "NORMAL"; - phich_resource = "ONESIXTH"; - srs_enable = "DISABLE"; - /* srs_BandwidthConfig =; - srs_SubframeConfig =; - srs_ackNackST =; - srs_MaxUpPts =;*/ - - pusch_p0_Nominal = -96; - pusch_alpha = "AL1"; - pucch_p0_Nominal = -104; - msg3_delta_Preamble = 6; - pucch_deltaF_Format1 = "deltaF2"; - pucch_deltaF_Format1b = "deltaF3"; - pucch_deltaF_Format2 = "deltaF0"; - pucch_deltaF_Format2a = "deltaF0"; - pucch_deltaF_Format2b = "deltaF0"; - - rach_numberOfRA_Preambles = 64; - rach_preamblesGroupAConfig = "DISABLE"; - /* - rach_sizeOfRA_PreamblesGroupA = ; - rach_messageSizeGroupA = ; - rach_messagePowerOffsetGroupB = ; - */ - rach_powerRampingStep = 4; - rach_preambleInitialReceivedTargetPower = -108; - rach_preambleTransMax = 10; - rach_raResponseWindowSize = 10; - rach_macContentionResolutionTimer = 48; - rach_maxHARQ_Msg3Tx = 4; - - pcch_default_PagingCycle = 128; - pcch_nB = "oneT"; - bcch_modificationPeriodCoeff = 2; - ue_TimersAndConstants_t300 = 1000; - ue_TimersAndConstants_t301 = 1000; - ue_TimersAndConstants_t310 = 1000; - ue_TimersAndConstants_t311 = 10000; - ue_TimersAndConstants_n310 = 20; - ue_TimersAndConstants_n311 = 1; - ue_TransmissionMode = 1; - } - ); - - - srb1_parameters : - { - # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500] - timer_poll_retransmit = 80; - - # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200] - timer_reordering = 35; - - # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500] - timer_status_prohibit = 0; - - # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)] - poll_pdu = 4; - - # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)] - poll_byte = 99999; - - # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32] - max_retx_threshold = 4; - } - - # ------- SCTP definitions - SCTP : - { - # Number of streams to use in input/output - SCTP_INSTREAMS = 2; - SCTP_OUTSTREAMS = 2; - }; - - - ////////// MME parameters: - mme_ip_address = ( { ipv4 = "192.168.12.26"; - ipv6 = "192:168:30::17"; - active = "yes"; - preference = "ipv4"; - } - ); - - enable_measurement_reports = "no"; - - ///X2 - enable_x2 = "no"; - t_reloc_prep = 1000; /* unit: millisecond */ - tx2_reloc_overall = 2000; /* unit: millisecond */ - t_dc_prep = 1000; /* unit: millisecond */ - t_dc_overall = 2000; /* unit: millisecond */ - - NETWORK_INTERFACES : - { - ENB_INTERFACE_NAME_FOR_S1_MME = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.18/24"; - ENB_INTERFACE_NAME_FOR_S1U = "eth0"; - ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.18/24"; - ENB_PORT_FOR_S1U = 2152; # Spec 2152 - - ENB_IPV4_ADDRESS_FOR_X2C = "192.168.12.18/24"; - ENB_PORT_FOR_X2C = 36422; # Spec 36422 - }; - - rrh_gw_config = ( - { - local_if_name = "eth1"; - remote_address = "10.10.10.157"; - local_address = "10.10.10.18"; - local_port = 50000; #for raw option local port must be the same to remote - remote_port = 50000; - rrh_gw_active = "yes"; - tr_preference = "udp_if4p5"; - rf_preference = "usrp_b200"; - iq_txshift = 4; - tx_sample_advance = 80; - tx_scheduling_advance = 9; - if_compression = "alaw"; - } - ); - - log_config : - { - global_log_level ="info"; - hw_log_level ="info"; - phy_log_level ="info"; - mac_log_level ="info"; - rlc_log_level ="info"; - pdcp_log_level ="info"; - rrc_log_level ="info"; - }; - } -); diff --git a/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.10MHz.udp.usrpb210.conf b/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.10MHz.udp.usrpb210.conf deleted file mode 100755 index c4b3e00a75f00c4e05346e67bcec05f2ed22668b..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.10MHz.udp.usrpb210.conf +++ /dev/null @@ -1,195 +0,0 @@ -Active_eNBs = ( "eNB-Eurecom-LTEBox"); -# Asn1_verbosity, choice in: none, info, annoying -Asn1_verbosity = "none"; - -eNBs = -( - { - ////////// Identification parameters: - eNB_ID = 0xe00; - - cell_type = "CELL_MACRO_ENB"; - - eNB_name = "eNB-Eurecom-LTEBox"; - - // Tracking area code, 0x0000 and 0xfffe are reserved values - tracking_area_code = 1; - plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } ); - - ////////// Physical parameters: - - component_carriers = ( - { - node_function = "NGFI_RRU_IF4p5"; - node_timing = "synch_to_ext_device"; - node_synch_ref = 0; - frame_type = "FDD"; - tdd_config = 3; - tdd_config_s = 0; - prefix_type = "NORMAL"; - eutra_band = 7; - downlink_frequency = 2660000000L; - uplink_frequency_offset = -120000000; - Nid_cell = 0; - N_RB_DL = 50; - Nid_cell_mbsfn = 0; - nb_antenna_ports = 1; - nb_antennas_tx = 1; - nb_antennas_rx = 1; - tx_gain = 90; - rx_gain = 125; - prach_root = 0; - prach_config_index = 0; - prach_high_speed = "DISABLE"; - prach_zero_correlation = 1; - prach_freq_offset = 2; - pucch_delta_shift = 1; - pucch_nRB_CQI = 0; - pucch_nCS_AN = 0; - pucch_n1_AN = 0; - pdsch_referenceSignalPower = -29; - pdsch_p_b = 0; - pusch_n_SB = 1; - pusch_enable64QAM = "DISABLE"; - pusch_hoppingMode = "interSubFrame"; - pusch_hoppingOffset = 0; - pusch_groupHoppingEnabled = "ENABLE"; - pusch_groupAssignment = 0; - pusch_sequenceHoppingEnabled = "DISABLE"; - pusch_nDMRS1 = 1; - phich_duration = "NORMAL"; - phich_resource = "ONESIXTH"; - srs_enable = "DISABLE"; - /* srs_BandwidthConfig =; - srs_SubframeConfig =; - srs_ackNackST =; - srs_MaxUpPts =;*/ - - pusch_p0_Nominal = -96; - pusch_alpha = "AL1"; - pucch_p0_Nominal = -104; - msg3_delta_Preamble = 6; - pucch_deltaF_Format1 = "deltaF2"; - pucch_deltaF_Format1b = "deltaF3"; - pucch_deltaF_Format2 = "deltaF0"; - pucch_deltaF_Format2a = "deltaF0"; - pucch_deltaF_Format2b = "deltaF0"; - - rach_numberOfRA_Preambles = 64; - rach_preamblesGroupAConfig = "DISABLE"; - /* - rach_sizeOfRA_PreamblesGroupA = ; - rach_messageSizeGroupA = ; - rach_messagePowerOffsetGroupB = ; - */ - rach_powerRampingStep = 4; - rach_preambleInitialReceivedTargetPower = -104; - rach_preambleTransMax = 10; - rach_raResponseWindowSize = 10; - rach_macContentionResolutionTimer = 48; - rach_maxHARQ_Msg3Tx = 4; - - pcch_default_PagingCycle = 128; - pcch_nB = "oneT"; - bcch_modificationPeriodCoeff = 2; - ue_TimersAndConstants_t300 = 1000; - ue_TimersAndConstants_t301 = 1000; - ue_TimersAndConstants_t310 = 1000; - ue_TimersAndConstants_t311 = 10000; - ue_TimersAndConstants_n310 = 20; - ue_TimersAndConstants_n311 = 1; - - ue_TransmissionMode = 1; - - } - ); - - - srb1_parameters : - { - # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500] - timer_poll_retransmit = 80; - - # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200] - timer_reordering = 35; - - # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500] - timer_status_prohibit = 0; - - # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)] - poll_pdu = 4; - - # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)] - poll_byte = 99999; - - # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32] - max_retx_threshold = 4; - } - - # ------- SCTP definitions - SCTP : - { - # Number of streams to use in input/output - SCTP_INSTREAMS = 2; - SCTP_OUTSTREAMS = 2; - }; - - - ////////// MME parameters: - mme_ip_address = ( { ipv4 = "192.168.12.11"; - ipv6 = "192:168:30::17"; - active = "yes"; - preference = "ipv4"; - } - ); - - enable_measurement_reports = "no"; - - ///X2 - enable_x2 = "no"; - t_reloc_prep = 1000; /* unit: millisecond */ - tx2_reloc_overall = 2000; /* unit: millisecond */ - t_dc_prep = 1000; /* unit: millisecond */ - t_dc_overall = 2000; /* unit: millisecond */ - - NETWORK_INTERFACES : - { - ENB_INTERFACE_NAME_FOR_S1_MME = "eth3"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.215/24"; - ENB_INTERFACE_NAME_FOR_S1U = "eth3"; - ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.215/24"; - ENB_PORT_FOR_S1U = 2152; # Spec 2152 - - ENB_IPV4_ADDRESS_FOR_X2C = "192.168.12.215/24"; - ENB_PORT_FOR_X2C = 36422; # Spec 36422 - }; - - rrh_gw_config = ( - { - local_if_name = "eth3"; - remote_address = "10.10.10.18"; - local_address = "10.10.10.157"; - local_port = 50000; #for raw option local port must be the same to remote - remote_port = 50000; - rrh_gw_active = "yes"; - tr_preference = "udp_if4p5"; - rf_preference = "usrp_b200"; - iq_txshift = 4; - tx_sample_advance = 80; - tx_scheduling_advance = 9; - if_compression = "alaw"; - } - ); - - log_config : - { - global_log_level ="info"; - hw_log_level ="info"; - phy_log_level ="info"; - mac_log_level ="info"; - rlc_log_level ="info"; - pdcp_log_level ="info"; - rrc_log_level ="info"; - }; - } -); diff --git a/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.20MHz.udp.usrpb210.conf b/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.20MHz.udp.usrpb210.conf deleted file mode 100755 index e2786ef21cf55ed37432d6febc18370d8b96c04e..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.20MHz.udp.usrpb210.conf +++ /dev/null @@ -1,195 +0,0 @@ -Active_eNBs = ( "eNB-Eurecom-LTEBox"); -# Asn1_verbosity, choice in: none, info, annoying -Asn1_verbosity = "none"; - -eNBs = -( - { - ////////// Identification parameters: - eNB_ID = 0xe00; - - cell_type = "CELL_MACRO_ENB"; - - eNB_name = "eNB-Eurecom-LTEBox"; - - // Tracking area code, 0x0000 and 0xfffe are reserved values - tracking_area_code = 1; - plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } ); - - ////////// Physical parameters: - - component_carriers = ( - { - node_function = "NGFI_RRU_IF4p5"; - node_timing = "synch_to_ext_device"; - node_synch_ref = 0; - frame_type = "FDD"; - tdd_config = 3; - tdd_config_s = 0; - prefix_type = "NORMAL"; - eutra_band = 7; - downlink_frequency = 2660000000L; - uplink_frequency_offset = -120000000; - Nid_cell = 0; - N_RB_DL = 100; - Nid_cell_mbsfn = 0; - nb_antenna_ports = 1; - nb_antennas_tx = 1; - nb_antennas_rx = 1; - tx_gain = 90; - rx_gain = 125; - prach_root = 0; - prach_config_index = 0; - prach_high_speed = "DISABLE"; - prach_zero_correlation = 1; - prach_freq_offset = 2; - pucch_delta_shift = 1; - pucch_nRB_CQI = 0; - pucch_nCS_AN = 0; - pucch_n1_AN = 0; - pdsch_referenceSignalPower = -29; - pdsch_p_b = 0; - pusch_n_SB = 1; - pusch_enable64QAM = "DISABLE"; - pusch_hoppingMode = "interSubFrame"; - pusch_hoppingOffset = 0; - pusch_groupHoppingEnabled = "ENABLE"; - pusch_groupAssignment = 0; - pusch_sequenceHoppingEnabled = "DISABLE"; - pusch_nDMRS1 = 1; - phich_duration = "NORMAL"; - phich_resource = "ONESIXTH"; - srs_enable = "DISABLE"; - /* srs_BandwidthConfig =; - srs_SubframeConfig =; - srs_ackNackST =; - srs_MaxUpPts =;*/ - - pusch_p0_Nominal = -96; - pusch_alpha = "AL1"; - pucch_p0_Nominal = -104; - msg3_delta_Preamble = 6; - pucch_deltaF_Format1 = "deltaF2"; - pucch_deltaF_Format1b = "deltaF3"; - pucch_deltaF_Format2 = "deltaF0"; - pucch_deltaF_Format2a = "deltaF0"; - pucch_deltaF_Format2b = "deltaF0"; - - rach_numberOfRA_Preambles = 64; - rach_preamblesGroupAConfig = "DISABLE"; - /* - rach_sizeOfRA_PreamblesGroupA = ; - rach_messageSizeGroupA = ; - rach_messagePowerOffsetGroupB = ; - */ - rach_powerRampingStep = 4; - rach_preambleInitialReceivedTargetPower = -104; - rach_preambleTransMax = 10; - rach_raResponseWindowSize = 10; - rach_macContentionResolutionTimer = 48; - rach_maxHARQ_Msg3Tx = 4; - - pcch_default_PagingCycle = 128; - pcch_nB = "oneT"; - bcch_modificationPeriodCoeff = 2; - ue_TimersAndConstants_t300 = 1000; - ue_TimersAndConstants_t301 = 1000; - ue_TimersAndConstants_t310 = 1000; - ue_TimersAndConstants_t311 = 10000; - ue_TimersAndConstants_n310 = 20; - ue_TimersAndConstants_n311 = 1; - - ue_TransmissionMode = 1; - - } - ); - - - srb1_parameters : - { - # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500] - timer_poll_retransmit = 80; - - # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200] - timer_reordering = 35; - - # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500] - timer_status_prohibit = 0; - - # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)] - poll_pdu = 4; - - # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)] - poll_byte = 99999; - - # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32] - max_retx_threshold = 4; - } - - # ------- SCTP definitions - SCTP : - { - # Number of streams to use in input/output - SCTP_INSTREAMS = 2; - SCTP_OUTSTREAMS = 2; - }; - - - ////////// MME parameters: - mme_ip_address = ( { ipv4 = "192.168.12.11"; - ipv6 = "192:168:30::17"; - active = "yes"; - preference = "ipv4"; - } - ); - - enable_measurement_reports = "no"; - - ///X2 - enable_x2 = "no"; - t_reloc_prep = 1000; /* unit: millisecond */ - tx2_reloc_overall = 2000; /* unit: millisecond */ - t_dc_prep = 1000; /* unit: millisecond */ - t_dc_overall = 2000; /* unit: millisecond */ - - NETWORK_INTERFACES : - { - ENB_INTERFACE_NAME_FOR_S1_MME = "eth3"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.215/24"; - ENB_INTERFACE_NAME_FOR_S1U = "eth3"; - ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.215/24"; - ENB_PORT_FOR_S1U = 2152; # Spec 2152 - - ENB_IPV4_ADDRESS_FOR_X2C = "192.168.12.215/24"; - ENB_PORT_FOR_X2C = 36422; # Spec 36422 - }; - - rrh_gw_config = ( - { - local_if_name = "eth3"; - remote_address = "10.10.10.18"; - local_address = "10.10.10.157"; - local_port = 50000; #for raw option local port must be the same to remote - remote_port = 50000; - rrh_gw_active = "yes"; - tr_preference = "udp_if4p5"; - rf_preference = "usrp_b200"; - iq_txshift = 4; - tx_sample_advance = 80; - tx_scheduling_advance = 9; - if_compression = "alaw"; - } - ); - - log_config : - { - global_log_level ="info"; - hw_log_level ="info"; - phy_log_level ="info"; - mac_log_level ="info"; - rlc_log_level ="info"; - pdcp_log_level ="info"; - rrc_log_level ="info"; - }; - } -); diff --git a/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.5MHz.udp.usrpb210.conf b/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.5MHz.udp.usrpb210.conf deleted file mode 100755 index 8cd9bd6c677caaa5aa111c1f317d11e5789884e6..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/config/rru.band7.tm1.if4p5.5MHz.udp.usrpb210.conf +++ /dev/null @@ -1,195 +0,0 @@ -Active_eNBs = ( "eNB-Eurecom-LTEBox"); -# Asn1_verbosity, choice in: none, info, annoying -Asn1_verbosity = "none"; - -eNBs = -( - { - ////////// Identification parameters: - eNB_ID = 0xe00; - - cell_type = "CELL_MACRO_ENB"; - - eNB_name = "eNB-Eurecom-LTEBox"; - - // Tracking area code, 0x0000 and 0xfffe are reserved values - tracking_area_code = 1; - plmn_list = ( { mcc = 208; mnc = 92; mnc_length = 2; } ); - - ////////// Physical parameters: - - component_carriers = ( - { - node_function = "NGFI_RRU_IF4p5"; - node_timing = "synch_to_ext_device"; - node_synch_ref = 0; - frame_type = "FDD"; - tdd_config = 3; - tdd_config_s = 0; - prefix_type = "NORMAL"; - eutra_band = 7; - downlink_frequency = 2660000000L; - uplink_frequency_offset = -120000000; - Nid_cell = 0; - N_RB_DL = 25; - Nid_cell_mbsfn = 0; - nb_antenna_ports = 1; - nb_antennas_tx = 1; - nb_antennas_rx = 1; - tx_gain = 90; - rx_gain = 125; - prach_root = 0; - prach_config_index = 0; - prach_high_speed = "DISABLE"; - prach_zero_correlation = 1; - prach_freq_offset = 2; - pucch_delta_shift = 1; - pucch_nRB_CQI = 0; - pucch_nCS_AN = 0; - pucch_n1_AN = 0; - pdsch_referenceSignalPower = -29; - pdsch_p_b = 0; - pusch_n_SB = 1; - pusch_enable64QAM = "DISABLE"; - pusch_hoppingMode = "interSubFrame"; - pusch_hoppingOffset = 0; - pusch_groupHoppingEnabled = "ENABLE"; - pusch_groupAssignment = 0; - pusch_sequenceHoppingEnabled = "DISABLE"; - pusch_nDMRS1 = 1; - phich_duration = "NORMAL"; - phich_resource = "ONESIXTH"; - srs_enable = "DISABLE"; - /* srs_BandwidthConfig =; - srs_SubframeConfig =; - srs_ackNackST =; - srs_MaxUpPts =;*/ - - pusch_p0_Nominal = -96; - pusch_alpha = "AL1"; - pucch_p0_Nominal = -104; - msg3_delta_Preamble = 6; - pucch_deltaF_Format1 = "deltaF2"; - pucch_deltaF_Format1b = "deltaF3"; - pucch_deltaF_Format2 = "deltaF0"; - pucch_deltaF_Format2a = "deltaF0"; - pucch_deltaF_Format2b = "deltaF0"; - - rach_numberOfRA_Preambles = 64; - rach_preamblesGroupAConfig = "DISABLE"; - /* - rach_sizeOfRA_PreamblesGroupA = ; - rach_messageSizeGroupA = ; - rach_messagePowerOffsetGroupB = ; - */ - rach_powerRampingStep = 4; - rach_preambleInitialReceivedTargetPower = -104; - rach_preambleTransMax = 10; - rach_raResponseWindowSize = 10; - rach_macContentionResolutionTimer = 48; - rach_maxHARQ_Msg3Tx = 4; - - pcch_default_PagingCycle = 128; - pcch_nB = "oneT"; - bcch_modificationPeriodCoeff = 2; - ue_TimersAndConstants_t300 = 1000; - ue_TimersAndConstants_t301 = 1000; - ue_TimersAndConstants_t310 = 1000; - ue_TimersAndConstants_t311 = 10000; - ue_TimersAndConstants_n310 = 20; - ue_TimersAndConstants_n311 = 1; - - ue_TransmissionMode = 1; - - } - ); - - - srb1_parameters : - { - # timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500] - timer_poll_retransmit = 80; - - # timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200] - timer_reordering = 35; - - # timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500] - timer_status_prohibit = 0; - - # poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)] - poll_pdu = 4; - - # poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)] - poll_byte = 99999; - - # max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32] - max_retx_threshold = 4; - } - - # ------- SCTP definitions - SCTP : - { - # Number of streams to use in input/output - SCTP_INSTREAMS = 2; - SCTP_OUTSTREAMS = 2; - }; - - - ////////// MME parameters: - mme_ip_address = ( { ipv4 = "192.168.12.11"; - ipv6 = "192:168:30::17"; - active = "yes"; - preference = "ipv4"; - } - ); - - enable_measurement_reports = "no"; - - ///X2 - enable_x2 = "no"; - t_reloc_prep = 1000; /* unit: millisecond */ - tx2_reloc_overall = 2000; /* unit: millisecond */ - t_dc_prep = 1000; /* unit: millisecond */ - t_dc_overall = 2000; /* unit: millisecond */ - - NETWORK_INTERFACES : - { - ENB_INTERFACE_NAME_FOR_S1_MME = "eth3"; - ENB_IPV4_ADDRESS_FOR_S1_MME = "192.168.12.215/24"; - ENB_INTERFACE_NAME_FOR_S1U = "eth3"; - ENB_IPV4_ADDRESS_FOR_S1U = "192.168.12.215/24"; - ENB_PORT_FOR_S1U = 2152; # Spec 2152 - - ENB_IPV4_ADDRESS_FOR_X2C = "192.168.12.215/24"; - ENB_PORT_FOR_X2C = 36422; # Spec 36422 - }; - - rrh_gw_config = ( - { - local_if_name = "eth3"; - remote_address = "10.10.10.18"; - local_address = "10.10.10.157"; - local_port = 50000; #for raw option local port must be the same to remote - remote_port = 50000; - rrh_gw_active = "yes"; - tr_preference = "udp_if4p5"; - rf_preference = "usrp_b200"; - iq_txshift = 4; - tx_sample_advance = 80; - tx_scheduling_advance = 9; - if_compression = "alaw"; - } - ); - - log_config : - { - global_log_level ="info"; - hw_log_level ="info"; - phy_log_level ="info"; - mac_log_level ="info"; - rlc_log_level ="info"; - pdcp_log_level ="info"; - rrc_log_level ="info"; - }; - } -); diff --git a/cmake_targets/autotests/v2/connection.py b/cmake_targets/autotests/v2/connection.py deleted file mode 100755 index 3a254f89b8b0fe02dbbd43fecddbad5ea17ee087..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/connection.py +++ /dev/null @@ -1,104 +0,0 @@ -import os, subprocess, time, fcntl, termios, tty, signal, thread - -from utils import log - -class connection: - def __init__(self, description, host, user, password): - self.description = description - self.host = host - self.user = user - self.password = password - self.sendlock = thread.allocate_lock() - - try: - (pid, fd) = os.forkpty() - except BaseException, e: - log("ERROR: forkpty for '" + description + "': " + str(e)) - (pid, fd) = (-1, -1) - - if pid == -1: - log("ERROR: creating connection for '" + description + "'") - os._exit(1) - - # child process, run ssh - if pid == 0: - try: - os.execvp('sshpass', ['sshpass', '-p', password, - 'ssh', user + '@' + host]) - except BaseException, e: - log("ERROR: execvp for '" + description + "': " + str(e)) - log("ERROR: execvp failed for '" + description + "'") - os._exit(1) - - # parent process - # make the TTY raw to avoid getting input printed and no ^M - try: - tty.setraw(fd, termios.TCSANOW) - except BaseException, e: - log("ERROR: failed configuring TTY: " + str(e)) - os._exit(1) - -# try: -# fcntl.fcntl(fd, fcntl.F_SETFL, -# fcntl.fcntl(fd, fcntl.F_GETFL) | os.O_NONBLOCK) -# except: -# log("ERROR: fcntl failed for '" + description + "'") -# os._exit(1) - - self.pid = pid - self.fd = fd - self.active = True - self.retcode = -1 - - def send(self, string): - if self.active == False: - log("ERROR: send: child is dead for '" + self.description + "'") - return -1 - - try: - (pid, out) = os.waitpid(self.pid, os.WNOHANG) - except BaseException, e: - log("ERROR: send: waitpid failed for '" + self.description + - "': " + str(e)) - (pid, out) = (self.pid, 1) - if pid != 0: - log("ERROR: send: child process dead for '" + - self.description + "'") - try: - os.close(self.fd) - except BaseException, e: - #we don't care about errors at this point - pass - self.active = False - self.retcode = out - return -1 - - self.sendlock.acquire() - - length = len(string) - while length != 0: - try: - ret = os.write(self.fd, string) - except BaseException, e: - log("ERROR: send fails for '" + self.description + "': " + - str(e)) - os._exit(1) - - if ret == 0: - log("ERROR: send: write returns 0 for '" + - self.description + "'") - os._exit(1) - - length = length - ret - string = string[ret:] - - self.sendlock.release() - - return 0 - - def kill(self, signal=signal.SIGTERM): - log("INFO: kill connection '" + self.description + "'") - try: - os.kill(self.pid, signal) - except BaseException, e: - log("ERROR: connection.kill: " + str(e)) diff --git a/cmake_targets/autotests/v2/machine_list.py b/cmake_targets/autotests/v2/machine_list.py deleted file mode 100755 index dc41c504fe56695e5071372eca0e289ab72aa561..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/machine_list.py +++ /dev/null @@ -1,79 +0,0 @@ -import threading, os - -from utils import log - -class MachineWaiterThread(threading.Thread): - def __init__(self, machine, tasks): - threading.Thread.__init__(self) - self.machine = machine - self.tasks = tasks - - def run(self): - try: - for task in self.tasks: - ret = task.wait() - if ret != 0: - log("ERROR: task '" + task.description + "' failed " + - "on machine " + self.machine.name) - task.postaction() - self.machine.unbusy() - except BaseException, e: - log("ERROR: MachineWaiterThread: " + str(e)) - os._exit(1) - -class Machine(): - def __init__(self, machine, cond): - self.name = machine - self.free = True - self.cond = cond - def busy(self, tasks): - waiter = MachineWaiterThread(self, tasks) - waiter.start() - def unbusy(self): - self.cond.acquire() - self.free = True - self.cond.notify() - self.cond.release() - -class MachineList(): - def __init__(self, list): - self.list = [] - self.cond = threading.Condition() - for m in list: - self.list.append(Machine(m, self.cond)) - - def get_free_machine(self): - try: - self.cond.acquire() - while True: - free_machine = None - for m in self.list: - if m.free == True: - free_machine = m - break - if free_machine != None: - break - self.cond.wait() - free_machine.free = False - self.cond.release() - except BaseException, e: - log("ERROR: machine_list: " + str(e)) - os._exit(1) - return free_machine - - def wait_all_free(self): - try: - self.cond.acquire() - while True: - all_free = True - for m in self.list: - if m.free == False: - all_free = False - break - if all_free == True: - break - self.cond.wait() - self.cond.release() - except BaseException, e: - log("ERROR: machine_list: " + str(e)) - os._exit(1) diff --git a/cmake_targets/autotests/v2/main.py b/cmake_targets/autotests/v2/main.py deleted file mode 100755 index da38432dbc270f9b208135191bd6a3df6d9a357d..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/main.py +++ /dev/null @@ -1,705 +0,0 @@ -#!/usr/bin/python - -import os, re, sys, time, threading, thread -import xml.etree.ElementTree as ET - -from utils import test_in_list, quickshell, log -from task import Task, WAITLOG_SUCCESS, WAITLOG_FAILURE -from machine_list import MachineList - -oai_user = os.environ.get('OAI_USER') -oai_password = os.environ.get('OAI_PASS') -requested_tests = os.environ.get('OAI_TEST_CASE_GROUP') -machines = os.environ.get('MACHINELIST') -generic_machines = os.environ.get('MACHINELISTGENERIC') -result_dir = os.environ.get('RESULT_DIR') -nruns_softmodem = os.environ.get('NRUNS_LTE_SOFTMODEM') -openair_dir = os.environ.get('OPENAIR_DIR') - -some_undef = False -if (oai_user == None) : - log("variable OAI_USER is not defined") - some_undef = True -if (oai_password == None) : - log("variable OAI_PASS is not defined") - some_undef = True -if (requested_tests == None) : - log("variable OAI_TEST_CASE_GROUP is not defined") - some_undef = True -if (machines == None) : - log("variable MACHINELIST is not defined") - some_undef = True -if (generic_machines == None) : - log("variable MACHINELISTGENERIC is not defined") - some_undef = True -if (result_dir == None) : - log("variable RESULT_DIR is not defined") - some_undef = True -if (nruns_softmodem == None) : - log("variable NRUNS_LTE_SOFTMODEM is not defined") - some_undef = True -if (openair_dir == None) : - log("variable OPENAIR_DIR is not defined") - some_undef = True -if (some_undef == True): - os._exit(1) - -requested_tests = requested_tests .replace('"','') -machines = machines .replace('"','') -generic_machines = generic_machines .replace('"','') - -xml_test_file = os.environ.get('OPENAIR_DIR') + \ - "/cmake_targets/autotests/test_case_list.xml" - -xmlTree = ET.parse(xml_test_file) -xmlRoot = xmlTree.getroot() - -exclusion_tests=xmlRoot.findtext('TestCaseExclusionList',default='') -all_tests=xmlRoot.findall('testCase') - -exclusion_tests=exclusion_tests.split() -requested_tests=requested_tests.split() - -#check that exclusion tests are well formatted -#(6 digits or less than 6 digits followed by +) -for test in exclusion_tests: - if (not re.match('^[0-9]{6}$', test) and - not re.match('^[0-9]{1,5}\+$', test)): - log("ERROR: exclusion test is invalidly formatted: " + test) - os._exit(1) - -#check that requested tests are well formatted -#(6 digits or less than 6 digits followed by +) -#be verbose -for test in requested_tests: - if (re.match('^[0-9]{6}$', test) or - re.match('^[0-9]{1,5}\+$', test)): - log("INFO: test group/case requested: " + test) - else: - log("ERROR: requested test is invalidly formatted: " + test) - os._exit(1) - -#get the list of tests to be done -todo_tests=[] -for test in all_tests: - if (test_in_list(test.get('id'), requested_tests) and - not test_in_list(test.get('id'), exclusion_tests)): - log("INFO: test will be run: " + test.get('id')) - todo_tests.append(test) - else: - log("INFO: test will be skipped: " + test.get('id')) - -#get commit ID to use -commit_id = quickshell("git rev-parse --verify HEAD").replace('\n','') -if (len(commit_id) != 20*2): - log("ERROR: bad commit '" + commit_id + "'") -log("INFO: test for commit " + commit_id) - -#get repository URL -repository_url = quickshell("git config remote.origin.url").replace('\n','') -log("INFO: repository URL: " + repository_url) - -#prepare environment for tasks -env = [] -env.append("REPOSITORY_URL=" + repository_url) -env.append("COMMIT_ID=" + commit_id) - -#clone repository on all machines in the test setup -tasks=[] -for machine in machines.split(): - tasks.append(Task("actions/clone_repository.bash", - "clone repository on " + machine, - machine, - oai_user, - oai_password, - env, - openair_dir + "/cmake_targets/autotests/log/clone." \ - + machine)) -for task in tasks: - log("INFO: wait for task: " + task.description) - ret = task.wait() - if ret != 0 or not "TEST_SETUP_SUCCESS" in open(task.logfile).read(): - log("ERROR: task failed: " + task.description) - os._exit(1) - -############################################################################## -# run compilation tests # -############################################################################## - -machine_list = MachineList(generic_machines.split()) - -for test in todo_tests: - action = test.findtext('class') - if action != 'compilation': - continue - id = test.get('id') - machine = machine_list.get_free_machine() - log("INFO: start " + action + " test " + id + " on machine " + - machine.name) - tasks = [] - runenv = list(env) - runenv.append('OPENAIR_DIR=/tmp/oai_test_setup/oai') - runenv.append('BUILD_ARGUMENTS="' - + test.findtext('compile_prog_args') - + '"') - runenv.append('BUILD_OUTPUT="' - + test.findtext('compile_prog_out') - .replace('\n','') - + '"') - logdir = openair_dir +"/cmake_targets/autotests/log/"+ id +"/compile_log" - remote_files = "'/tmp/oai_test_setup/oai/cmake_targets/log/*'" - post_action = "mkdir -p "+ logdir + \ - " && sshpass -p " + oai_password + " scp -r " + oai_user + \ - "@" + machine.name + ":" + remote_files + " " + logdir + \ - " || true" - tasks.append(Task("actions/" + action + ".bash", - action + " of test " + id + " on " + machine.name, - machine.name, - oai_user, - oai_password, - runenv, - openair_dir + "/cmake_targets/autotests/log/" - + id + "." - + machine.name, - post_action=post_action)) - machine.busy(tasks) - -############################################################################## -# run execution tests # -############################################################################## - -class ExecutionThread(threading.Thread): - def __init__(self, id, machine, test): - threading.Thread.__init__(self) - self.machine = machine - self.id = id - self.test = test - - def run(self): - id = self.id - machine = self.machine - test = self.test - - # step 1: compile - - log("INFO: start compilation of test " + id + " on machine " + - machine.name) - tasks = [] - runenv = list(env) - runenv.append('OPENAIR_DIR=/tmp/oai_test_setup/oai') - runenv.append('PRE_BUILD="' - + test.findtext('pre_compile_prog') - + '"') - runenv.append('BUILD_PROG="' - + test.findtext('compile_prog') - + '"') - runenv.append('BUILD_ARGUMENTS="' - + test.findtext('compile_prog_args') - + '"') - runenv.append('PRE_EXEC="' - + test.findtext('pre_exec') + " " - + test.findtext('pre_exec_args') - + '"') - logdir = openair_dir +"/cmake_targets/autotests/log/"+ id + \ - "/compile_log" - remote_files = "'/tmp/oai_test_setup/oai/cmake_targets/log/*'" - post_action = "mkdir -p "+ logdir + \ - " && sshpass -p " + oai_password + \ - " scp -r " + oai_user + "@" + machine.name + ":" + \ - remote_files + " " + logdir + \ - " || true" - task = Task("actions/execution_compile.bash", - "compilation of test " + id + " on " + machine.name, - machine.name, - oai_user, - oai_password, - runenv, - openair_dir + "/cmake_targets/autotests/log/" - + id + "_compile." - + machine.name, - post_action=post_action) - ret = task.wait() - task.postaction() - if ret != 0: - log("ERROR: compilation of test " + id + " failed: " + str(ret)) - machine.unbusy() - return - - #step 2: run all tests - - nruns = test.findtext('nruns') - args = test.findtext('main_exec_args') - i = 0 - for arg in args.splitlines(): - i = i+1 - runenv2 = list(runenv) - runenv2.append('OPENAIR_TARGETS=/tmp/oai_test_setup/oai/targets') - runenv2.append('EXEC="' - + test.findtext('main_exec') - + '"') - runenv2.append('EXEC_ARGS="' + arg + '"') - for run in range(int(nruns)): - log("INFO: start execution of test " + id + " case " + - str(i) + " run " + str(run) + " on machine " + - machine.name) - task =Task("actions/execution.bash", - "execution of test " + id + " on " + machine.name, - machine.name, - oai_user, - oai_password, - runenv2, - openair_dir + "/cmake_targets/autotests/log/" - + id + "_case_" + str(i) + "_run_" + str(run) - + "." + machine.name) - ret = task.wait() - if ret != 0: - log("ERROR: execution of test " +id+ " failed: " + - str(ret)) - - machine.unbusy() - -for test in todo_tests: - action = test.findtext('class') - if action != 'execution': - continue - id = test.get('id') - machine = machine_list.get_free_machine() - ExecutionThread(id, machine, test).start() - -#wait for compilation/execution tests to be finished -#log only if some compilation/execution tests are actually done -for test in todo_tests: - action = test.findtext('class') - if action == 'execution' or action == 'compilation': - log("INFO: requested compilation/execution tests " + - "have been launched, waiting for completion") - break -machine_list.wait_all_free() - -############################################################################## -# run eNB softmodem tests # -############################################################################## - -tests = {} -for a in { 'b210', 'remote b210', 'x310', 'exmimo2' }: - tests[a] = {} - for b in { 'alu', 'openair-cn' }: - tests[a][b] = {} - for c in { 'fdd', 'tdd' }: - tests[a][b][c] = {} - for d in { '5', '10', '20' }: - tests[a][b][c][d] = {} - for e in { 'bandrich', 'sony', '3276' }: - tests[a][b][c][d][e] = {} - for f in { 'tcp', 'udp' }: - tests[a][b][c][d][e][f] = {} - for g in { 'dl', 'ul' }: - tests[a][b][c][d][e][f][g] = False - -todo_tests_ids = [] -for test in todo_tests: - todo_tests_ids.append(test.get('id')) - -for test in todo_tests_ids: - if test=='015500':tests['b210']['alu']['fdd'][ '5']['bandrich']['udp']['ul']=True - if test=='015501':tests['b210']['alu']['fdd']['10']['bandrich']['udp']['ul']=True - if test=='015502':tests['b210']['alu']['fdd']['20']['bandrich']['udp']['ul']=True - if test=='015503':tests['b210']['alu']['fdd'][ '5']['bandrich']['udp']['dl']=True - if test=='015504':tests['b210']['alu']['fdd']['10']['bandrich']['udp']['dl']=True - if test=='015505':tests['b210']['alu']['fdd']['20']['bandrich']['udp']['dl']=True - if test=='015506':log('WARNING: skip test ' + test) #TODO - if test=='015507':log('WARNING: skip test ' + test) #TODO - if test=='015508':log('WARNING: skip test ' + test) #TODO - if test=='015509':log('WARNING: skip test ' + test) #TODO - if test=='015510':log('WARNING: skip test ' + test) #TODO - if test=='015511':log('WARNING: skip test ' + test) #TODO - if test=='015512':tests['b210']['alu']['fdd'][ '5']['bandrich']['tcp']['ul']=True - if test=='015513':tests['b210']['alu']['fdd']['10']['bandrich']['tcp']['ul']=True - if test=='015514':tests['b210']['alu']['fdd']['20']['bandrich']['tcp']['ul']=True - if test=='015515':tests['b210']['alu']['fdd'][ '5']['bandrich']['tcp']['dl']=True - if test=='015516':tests['b210']['alu']['fdd']['10']['bandrich']['tcp']['dl']=True - if test=='015517':tests['b210']['alu']['fdd']['20']['bandrich']['tcp']['dl']=True - if test=='015518':log('WARNING: skip test ' + test) #TODO - if test=='015519':log('WARNING: skip test ' + test) #TODO - if test=='015520':log('WARNING: skip test ' + test) #TODO - if test=='015521':log('WARNING: skip test ' + test) #TODO - if test=='015522':log('WARNING: skip test ' + test) #TODO - if test=='015523':log('WARNING: skip test ' + test) #TODO - - if test=='015600':log('WARNING: skip test ' + test) #TODO - if test=='015601':log('WARNING: skip test ' + test) #TODO - if test=='015602':log('WARNING: skip test ' + test) #TODO - if test=='015603':log('WARNING: skip test ' + test) #TODO - if test=='015604':log('WARNING: skip test ' + test) #TODO - if test=='015605':log('WARNING: skip test ' + test) #TODO - - if test=='015700':log('WARNING: skip test ' + test) #TODO - if test=='015701':log('WARNING: skip test ' + test) #TODO - if test=='015702':log('WARNING: skip test ' + test) #TODO - if test=='015703':log('WARNING: skip test ' + test) #TODO - if test=='015704':log('WARNING: skip test ' + test) #TODO - if test=='015705':log('WARNING: skip test ' + test) #TODO - - if test=='015800':log('WARNING: skip test ' + test) #TODO - if test=='015801':log('WARNING: skip test ' + test) #TODO - if test=='015802':log('WARNING: skip test ' + test) #TODO - if test=='015803':log('WARNING: skip test ' + test) #TODO - if test=='015804':log('WARNING: skip test ' + test) #TODO - if test=='015805':log('WARNING: skip test ' + test) #TODO - if test=='015806':log('WARNING: skip test ' + test) #TODO - if test=='015807':log('WARNING: skip test ' + test) #TODO - if test=='015808':log('WARNING: skip test ' + test) #TODO - if test=='015809':log('WARNING: skip test ' + test) #TODO - if test=='015810':log('WARNING: skip test ' + test) #TODO - if test=='015811':log('WARNING: skip test ' + test) #TODO - if test=='015812':log('WARNING: skip test ' + test) #TODO - if test=='015813':log('WARNING: skip test ' + test) #TODO - if test=='015814':log('WARNING: skip test ' + test) #TODO - if test=='015815':log('WARNING: skip test ' + test) #TODO - if test=='015816':log('WARNING: skip test ' + test) #TODO - if test=='015817':log('WARNING: skip test ' + test) #TODO - if test=='015818':log('WARNING: skip test ' + test) #TODO - if test=='015819':log('WARNING: skip test ' + test) #TODO - if test=='015820':log('WARNING: skip test ' + test) #TODO - if test=='015821':log('WARNING: skip test ' + test) #TODO - if test=='015822':log('WARNING: skip test ' + test) #TODO - if test=='015823':log('WARNING: skip test ' + test) #TODO - - if test=='016000':log('WARNING: skip test ' + test) #TODO - if test=='016001':log('WARNING: skip test ' + test) #TODO - if test=='016002':log('WARNING: skip test ' + test) #TODO - if test=='016003':log('WARNING: skip test ' + test) #TODO - if test=='016004':log('WARNING: skip test ' + test) #TODO - if test=='016005':log('WARNING: skip test ' + test) #TODO - - if test=='016100':log('WARNING: skip test ' + test) #TODO - if test=='016101':log('WARNING: skip test ' + test) #TODO - if test=='016102':log('WARNING: skip test ' + test) #TODO - if test=='016103':log('WARNING: skip test ' + test) #TODO - if test=='016104':log('WARNING: skip test ' + test) #TODO - if test=='016105':log('WARNING: skip test ' + test) #TODO - - if test=='016300':log('WARNING: skip test ' + test) #TODO - if test=='016301':log('WARNING: skip test ' + test) #TODO - if test=='016302':log('WARNING: skip test ' + test) #TODO - if test=='016303':log('WARNING: skip test ' + test) #TODO - if test=='016304':log('WARNING: skip test ' + test) #TODO - if test=='016305':log('WARNING: skip test ' + test) #TODO - - if test=='016500':log('WARNING: skip test ' + test) #TODO - if test=='016501':log('WARNING: skip test ' + test) #TODO - if test=='016502':log('WARNING: skip test ' + test) #TODO - if test=='016503':log('WARNING: skip test ' + test) #TODO - if test=='016504':log('WARNING: skip test ' + test) #TODO - if test=='016505':log('WARNING: skip test ' + test) #TODO - - if test=='017000':log('WARNING: skip test ' + test) #TODO - if test=='017001':log('WARNING: skip test ' + test) #TODO - if test=='017002':log('WARNING: skip test ' + test) #TODO - if test=='017003':log('WARNING: skip test ' + test) #TODO - if test=='017004':log('WARNING: skip test ' + test) #TODO - if test=='017005':log('WARNING: skip test ' + test) #TODO - - if test=='017500':log('WARNING: skip test ' + test) #TODO - if test=='017501':log('WARNING: skip test ' + test) #TODO - if test=='017502':log('WARNING: skip test ' + test) #TODO - if test=='017503':log('WARNING: skip test ' + test) #TODO - if test=='017504':log('WARNING: skip test ' + test) #TODO - if test=='017505':log('WARNING: skip test ' + test) #TODO - - if test=='017600':tests['remote b210']['alu']['fdd'][ '5']['bandrich']['udp']['ul']=True - if test=='017601':tests['remote b210']['alu']['fdd']['10']['bandrich']['udp']['ul']=True - if test=='017602':tests['remote b210']['alu']['fdd']['20']['bandrich']['udp']['ul']=True - if test=='017603':tests['remote b210']['alu']['fdd'][ '5']['bandrich']['udp']['dl']=True - if test=='017604':tests['remote b210']['alu']['fdd']['10']['bandrich']['udp']['dl']=True - if test=='017605':tests['remote b210']['alu']['fdd']['20']['bandrich']['udp']['dl']=True - if test=='017606':tests['remote b210']['alu']['fdd'][ '5']['bandrich']['tcp']['ul']=True - if test=='017607':tests['remote b210']['alu']['fdd']['10']['bandrich']['tcp']['ul']=True - if test=='017608':tests['remote b210']['alu']['fdd']['20']['bandrich']['tcp']['ul']=True - if test=='017609':tests['remote b210']['alu']['fdd'][ '5']['bandrich']['tcp']['dl']=True - if test=='017610':tests['remote b210']['alu']['fdd']['10']['bandrich']['tcp']['dl']=True - if test=='017611':tests['remote b210']['alu']['fdd']['20']['bandrich']['tcp']['dl']=True - - if test=='018000':log('WARNING: skip test ' + test) #TODO - if test=='018001':log('WARNING: skip test ' + test) #TODO - if test=='018002':log('WARNING: skip test ' + test) #TODO - if test=='018003':log('WARNING: skip test ' + test) #TODO - if test=='018004':log('WARNING: skip test ' + test) #TODO - if test=='018005':log('WARNING: skip test ' + test) #TODO - - if test=='018500':log('WARNING: skip test ' + test) #TODO - if test=='018501':log('WARNING: skip test ' + test) #TODO - if test=='018502':log('WARNING: skip test ' + test) #TODO - if test=='018503':log('WARNING: skip test ' + test) #TODO - if test=='018504':log('WARNING: skip test ' + test) #TODO - if test=='018505':log('WARNING: skip test ' + test) #TODO - - if test=='018600':tests['b210']['alu']['tdd'][ '5']['3276']['udp']['ul']=True - if test=='018601':tests['b210']['alu']['tdd']['10']['3276']['udp']['ul']=True - if test=='018602':tests['b210']['alu']['tdd']['20']['3276']['udp']['ul']=True - if test=='018603':tests['b210']['alu']['tdd'][ '5']['3276']['udp']['dl']=True - if test=='018604':tests['b210']['alu']['tdd']['10']['3276']['udp']['dl']=True - if test=='018605':tests['b210']['alu']['tdd']['20']['3276']['udp']['dl']=True - if test=='018606':log('WARNING: skip test ' + test) #TODO - if test=='018607':log('WARNING: skip test ' + test) #TODO - if test=='018608':log('WARNING: skip test ' + test) #TODO - if test=='018609':log('WARNING: skip test ' + test) #TODO - if test=='018610':log('WARNING: skip test ' + test) #TODO - if test=='018611':log('WARNING: skip test ' + test) #TODO - if test=='018612':tests['b210']['alu']['tdd'][ '5']['3276']['tcp']['ul']=True - if test=='018613':tests['b210']['alu']['tdd']['10']['3276']['tcp']['ul']=True - if test=='018614':tests['b210']['alu']['tdd']['20']['3276']['tcp']['ul']=True - if test=='018615':tests['b210']['alu']['tdd'][ '5']['3276']['tcp']['dl']=True - if test=='018616':tests['b210']['alu']['tdd']['10']['3276']['tcp']['dl']=True - if test=='018617':tests['b210']['alu']['tdd']['20']['3276']['tcp']['dl']=True - if test=='018618':log('WARNING: skip test ' + test) #TODO - if test=='018619':log('WARNING: skip test ' + test) #TODO - if test=='018620':log('WARNING: skip test ' + test) #TODO - if test=='018621':log('WARNING: skip test ' + test) #TODO - if test=='018622':log('WARNING: skip test ' + test) #TODO - if test=='018623':log('WARNING: skip test ' + test) #TODO - - if test=='025500':log('WARNING: skip test ' + test) #TODO - if test=='025501':log('WARNING: skip test ' + test) #TODO - if test=='025502':log('WARNING: skip test ' + test) #TODO - if test=='025503':log('WARNING: skip test ' + test) #TODO - if test=='025504':log('WARNING: skip test ' + test) #TODO - if test=='025505':log('WARNING: skip test ' + test) #TODO - if test=='025506':log('WARNING: skip test ' + test) #TODO - if test=='025507':log('WARNING: skip test ' + test) #TODO - if test=='025508':log('WARNING: skip test ' + test) #TODO - if test=='025509':log('WARNING: skip test ' + test) #TODO - if test=='025510':log('WARNING: skip test ' + test) #TODO - if test=='025511':log('WARNING: skip test ' + test) #TODO - if test=='025512':log('WARNING: skip test ' + test) #TODO - if test=='025513':log('WARNING: skip test ' + test) #TODO - if test=='025514':log('WARNING: skip test ' + test) #TODO - if test=='025515':log('WARNING: skip test ' + test) #TODO - if test=='025516':log('WARNING: skip test ' + test) #TODO - if test=='025517':log('WARNING: skip test ' + test) #TODO - if test=='025518':log('WARNING: skip test ' + test) #TODO - if test=='025519':log('WARNING: skip test ' + test) #TODO - if test=='025520':log('WARNING: skip test ' + test) #TODO - if test=='025521':log('WARNING: skip test ' + test) #TODO - if test=='025522':log('WARNING: skip test ' + test) #TODO - if test=='025523':log('WARNING: skip test ' + test) #TODO - - if test=='025700':log('WARNING: skip test ' + test) #TODO - if test=='025701':log('WARNING: skip test ' + test) #TODO - if test=='025702':log('WARNING: skip test ' + test) #TODO - if test=='025703':log('WARNING: skip test ' + test) #TODO - if test=='025704':log('WARNING: skip test ' + test) #TODO - if test=='025705':log('WARNING: skip test ' + test) #TODO - -from alu_test import run_b210_alu - -#B210 ALU tests - -run_b210_alu(tests, openair_dir, oai_user, oai_password, env) - -#for test in todo_tests: -# action = test.findtext('class') -# if action != 'lte-softmodem': -# continue -# if not "start_ltebox" in test.findtext('EPC_main_exec'): -# continue -# id = test.get('id') -# log("INFO: Running ALU test " + id) -# logdir = openair_dir + "/cmake_targets/autotests/log/" + id -# quickshell("mkdir -p " + logdir) -# epc_machine = test.findtext('EPC') -# enb_machine = test.findtext('eNB') -# ue_machine = test.findtext('UE') -# -# #event object used to wait for several tasks at once -# event = threading.Event() -# -# #launch HSS, wait for prompt -# log("INFO: " + id + ": run HSS") -# task_hss = Task("actions/alu_hss.bash", -# "ALU HSS", -# epc_machine, -# oai_user, -# oai_password, -# env, -# logdir + "/alu_hss." + epc_machine, event=event) -# task_hss.waitlog('S6AS_SIM-> ') -# -# #then launch EPC, wait for connection on HSS side -# log("INFO: " + id + ": run EPC") -# task = Task("actions/alu_epc.bash", -# "ALU EPC", -# epc_machine, -# oai_user, -# oai_password, -# env, -# logdir + "/alu_epc." + epc_machine) -# ret = task.wait() -# if ret != 0: -# log("ERROR: EPC start failure"); -# os._exit(1) -# task_hss.waitlog('Connected\n') -# -# #compile softmodem -# log("INFO: " + id + ": compile softmodem") -# envcomp = list(env) -# envcomp.append('BUILD_ARGUMENTS="' + -# test.findtext('eNB_compile_prog_args') + '"') -# #we don't care about BUILD_OUTPUT but it's required (TODO: change that) -# envcomp.append('BUILD_OUTPUT=/') -# task = Task("actions/compilation.bash", -# "compile softmodem", -# enb_machine, -# oai_user, -# oai_password, -# envcomp, -# logdir + "/compile_softmodem." + enb_machine) -# ret = task.wait() -# if ret != 0: -# log("ERROR: softmodem compilation failure"); -# os._exit(1) -# -## #copy wanted configuration file -## quickshell("sshpass -p " + oai_password + -## " scp config/enb.band7.tm1.usrpb210.conf " + -## oai_user + "@" + enb_machine + ":/tmp/enb.conf") -# -# #run softmodem -# log("INFO: " + id + ": run softmodem") -# task_enb = Task("actions/run_enb.bash", -# "run softmodem", -# enb_machine, -# oai_user, -# oai_password, -# env, -# logdir + "/run_softmodem." + enb_machine, event=event) -# task_enb.waitlog('got sync') -# -# #start UE -# log("INFO: " + id + ": start bandrich UE") -# task_ue = Task("actions/start_bandrich.bash", -# "start bandrich UE", -# ue_machine, -# oai_user, -# oai_password, -# env, -# logdir + "/start_bandrich." + ue_machine, event=event) -# task_ue.waitlog("local IP address", event=event) -# -# event.wait() -# -# #at this point one task has died or we have the line in the log -# if task_ue.waitlog_state != WAITLOG_SUCCESS: -# log("ERROR: " + id + ": bandrich UE did not connect") -# os._exit(1) -# -# event.clear() -# -# if ( not task_enb.alive() or -# not task_hss.alive() or -# not task_ue.alive()): -# log("ERROR: " + id + ": eNB or UE tasks died") -# os._exit(1) -# -# #get bandrich UE IP -# l = open(task_ue.logfile, "r").read() -# ue_ip = re.search("local IP address (.*)\n", l).groups()[0] -# log("INFO: " + id + ": bandrich UE IP address: " + ue_ip) -# -# #run traffic -# log("INFO: " + id + ": run downlink TCP traffic") -# -# log("INFO: " + id + ": launch server") -# task_traffic_ue = Task("actions/downlink_bandrich.bash", -# "start iperf on bandrich UE as server", -# ue_machine, -# oai_user, -# oai_password, -# env, -# logdir + "/downlink_bandrich." + ue_machine, -# event=event) -# task_traffic_ue.waitlog("Server listening on TCP port 5001") -# -# log("INFO: " + id + ": launch client") -# envepc = list(env) -# envepc.append("UE_IP=" + ue_ip) -# task = Task("actions/downlink_epc.bash", -# "start iperf on EPC as client", -# epc_machine, -# oai_user, -# oai_password, -# envepc, -# logdir + "/downlink_epc." + epc_machine, event=event) -# log("INFO: " + id + ": wait for client (or some error)") -# -# event.wait() -# log("DEBUG: event.wait() done") -# -# if ( not task_enb.alive() or -# not task_hss.alive() or -# not task_ue.alive()): -# log("ERROR: unexpected task exited, test failed, kill all") -# if task.alive(): -# task.kill() -# if task_enb.alive(): -# task_enb.kill() -# if task_ue.alive(): -# task_ue.kill() -# -# ret = task.wait() -# if ret != 0: -# log("ERROR: " + id + ": downlink traffic failed") -# #not sure if we have to quit here or not -# #os._exit(1) -# -# #stop downlink server -# log("INFO: " + id + ": stop server (kill ssh connection)") -# task_traffic_ue.kill() -# log("INFO: " + id + ": wait for server to quit") -# task_traffic_ue.wait() -# -# #stop UE -# log("INFO: " + id + ": stop bandrich UE") -# task_ue.sendnow("%c" % 3) -# ret = task_ue.wait() -# if ret != 0: -# log("ERROR: " + id + ": task bandrich UE failed") -# #not sure if we have to quit here or not -# #os._exit(1) -# -# #stop softmodem -# log("INFO: " + id + ": stop softmodem") -# task_enb.sendnow("%c" % 3) -# ret = task_enb.wait() -# if ret != 0: -# log("ERROR: " + id + ": softmodem failed") -# #not sure if we have to quit here or not -# #os._exit(1) -# -# #stop EPC, wait for disconnection on HSS side -# log("INFO: " + id + ": stop EPC") -# task = Task("actions/alu_epc_stop.bash", -# "ALU EPC stop", -# epc_machine, -# oai_user, -# oai_password, -# env, -# logdir + "/alu_epc_stop." + epc_machine) -# ret = task.wait() -# if ret != 0: -# log("ERROR: " + id + ": ALU EPC stop failed") -# os._exit(1) -# task_hss.waitlog('Disconnected\n') -# -# log("INFO: " + id + ": stop HSS") -# task_hss.sendnow("exit\n") -# ret = task_hss.wait() -# if ret != 0: -# log("ERROR: " + id + ": ALU HSS failed") -# os._exit(1) - -import utils -log(utils.GREEN + "GOODBYE" + utils.RESET) -#os._exit(0) - -#run lte softmodem tests diff --git a/cmake_targets/autotests/v2/task.py b/cmake_targets/autotests/v2/task.py deleted file mode 100755 index 68293e33e497bb604f83ced591c39b2034ade5ab..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/task.py +++ /dev/null @@ -1,370 +0,0 @@ -import os, time, threading, sys, os, errno, select -from connection import connection - -import utils -from utils import log - -#this class is to communicate between reader and sender threads -#the reader increments a count each time it receives the prompt -#and wakes up the sender -#it also indicates when it exits so the sender can exit too -#the sender (calling get) waits for the count to be greated than passed -#argument or if reader exited -#it returns argument+1 if things okay, -1 if reader exited -class Counter: - def __init__(self): - self.count = 0 - self.cond = threading.Condition() - - def inc(self): - self.cond.acquire() - self.count = self.count + 1 - self.cond.notify() - self.cond.release() - - def set(self, value): - self.cond.acquire() - self.count = value - self.cond.notify() - self.cond.release() - - def get(self, current): - self.cond.acquire() - while True: - if self.count == -1: - ret = -1 - break - if self.count >= current + 1: - ret = current + 1 - break - self.cond.wait() - self.cond.release() - return ret - -#this class is used for the main application to wait for some specific -#output from the remote program (typically the ALU HSS prompt, indicating -#it is ready and we can proceed further) -#(too much classes...) -class ProducerConsumer: - def __init__(self): - self.count = 0 - self.cond = threading.Condition() - - def add(self, v): - self.cond.acquire() - self.count = self.count + v - self.cond.notify() - self.cond.release() - - def set(self, v): - self.cond.acquire() - self.count = v - self.cond.notify() - self.cond.release() - - def get(self, old): - self.cond.acquire() - while True: - if self.count == -1: - ret = -1 - break - if self.count > old: - ret = self.count - break - self.cond.wait() - self.cond.release() - return ret - -#this thread gets input from the child process of the task -#it removes the prompts it gets (be carefully to use a prompt -#that will not be output of any command otherwise you dead) -class ReaderThread(threading.Thread): - def __init__(self, fdin, logfile, prompt, prompt_counter, producer): - threading.Thread.__init__(self) - self.fdin = fdin - self.logfile = logfile - self.prompt_counter = prompt_counter - self.prompt = prompt - self.promptsize = len(prompt) - self.stack = "" - self.stacksize = 0 - self.producer = producer - - def run(self): - try: - outfile = open(self.logfile, "w") - except BaseException, e: - log("ERROR: ReaderThread: " + self.logfile + ": " + str(e)) - os._exit(1) - while True: - try: - (a, b, c) = select.select([ self.fdin ], [], [ self.fdin ]) - except BaseException, e: - log("ERROR: ReaderThread: " + self.logfile + - ": select failed: " + str(e)) - os._exit(1) - try: - z = os.read(self.fdin, 1024) - except OSError, e: - if e.errno == errno.EIO: - #pipe has died, quit the thread - break - else: - log("ERROR: ReaderThread: " + self.logfile + - ": unhandled error: " + str(e)) - except BaseException, e: - log("ERROR: ReaderThread: " + self.logfile + - ": unhandled error: " + str(e)) - break - try: - produced = 0 - #this part is to remove the prompt - for x in z: - if x == self.prompt[self.stacksize]: - self.stack = self.stack + x - self.stacksize = self.stacksize + 1 - if self.stacksize == self.promptsize: - self.prompt_counter.inc() - self.stack = "" - self.stacksize = 0 - else: - outfile.write(self.stack) - outfile.write(x) - produced = produced + len(self.stack) + len(x) - self.stack = "" - self.stacksize = 0 - outfile.flush() - self.producer.add(produced) - except BaseException, e: - log("ERROR: ReaderThread: " + self.logfile + ": " + str(e)) - os._exit(1) - try: - outfile.close() - except BaseException, e: - log("ERROR: ReaderThread: " + self.logfile + ": " + str(e)) - os._exit(1) - #close the pipe, don't care about errors - try: - os.close(self.fdin) - except: - pass - #signal sender to quit - self.prompt_counter.set(-1) - self.producer.set(-1) - -class SenderQuit(Exception): - pass - -#this thread sends commands to the child process of the task -#it waits for the prompt between each command -#'event' is used for the main thread to wait for one of several tasks -#to quit, meaning error or end-of-test -class SenderThread(threading.Thread): - def __init__(self, fdout, prompt_counter, connection, env, action, - description, prompt, event=None): - threading.Thread.__init__(self) - self.fdin = fdout - self.prompt_counter = prompt_counter - self.connection = connection - self.env = env - self.action = action - self.description = description - self.prompt = prompt - self.count = 0 - self.event = event - self.alive = True - - def wait_prompt(self): - self.count = self.prompt_counter.get(self.count) - if self.count == -1: - raise SenderQuit() - - def _run(self): - self.connection.send('export PS1=' + self.prompt + '\n') - self.wait_prompt() - self.connection.send('set +o emacs\n') - self.wait_prompt() - self.connection.send('echo\n') - self.wait_prompt() - self.connection.send('echo\n') - self.wait_prompt() - self.connection.send("echo -e '" + utils.GREEN + - '---------------------------------------------' - + utils.RESET + "'\n") - self.wait_prompt() - self.connection.send('echo\n') - self.wait_prompt() - self.connection.send("echo -n -e '" + utils.YELLOW + - "COMMANDS START: " + - utils.RESET + "'\n") - self.wait_prompt() - self.connection.send('date\n') - self.wait_prompt() - - for l in self.env: - self.connection.send('export ' + l + '\n') - self.wait_prompt() - - with open(self.action) as f: - for line in f: - self.connection.send("echo -n -e '" + utils.GREEN + - "RUNNING: " + utils.RESET + "'\n") - self.wait_prompt() - self.connection.send("echo '" + - line.replace('\n','') - .replace("'", "'\\''") + "'\n") - self.wait_prompt() - self.connection.send(line) - self.wait_prompt() - self.connection.send("if [ $? != 0 ]; then " + - "echo -e '" + utils.RED + - "TEST_SETUP_ERROR: " + utils.RESET + - "last command failed, exiting'; " + - "date; exit 1; fi\n") - self.wait_prompt() - - self.connection.send("echo -n -e '" + utils.YELLOW + - "COMMANDS DONE: " + - utils.RESET + "'\n") - self.wait_prompt() - self.connection.send('date\n') - self.wait_prompt() - self.connection.send("echo -e '" + utils.GREEN + - "TEST_SETUP_SUCCESS" + utils.RESET + "'\n") - self.wait_prompt() - self.connection.send('exit\n') - - def run(self): - try: - self._run() - except SenderQuit: - log("WARNING: '" + self.description + "' exits too early?") - pass - except BaseException, e: - log("ERROR: task failed: " + str(e)) - log("ERROR: action is: " + self.action) - log("ERROR: description is: " + self.description) - os._exit(1) - - self.alive = False - - if self.event != None: - self.event.set() - -WAITLOG_RUNNING = 0 -WAITLOG_SUCCESS = 1 -WAITLOG_FAILURE = 2 - -class WaitlogFailed(Exception): - pass - -#'event' is used by main thread to wait for any of several threads to quit. -#'Task' passes it the 'SenderThread' above, which sets it when it finishes. -class Task: - def __init__(self, action, description, machine, user, password, env, - logfile, post_action = None, event=None): - self.action = action - self.description = description - self.machine = machine - self.user = user - self.password = password - self.post_action = post_action - self.producer = ProducerConsumer() - self.logfile = logfile - - prompt = "__OAI_TEST_SETUP_PROMPT__:" - prompt_counter = Counter() - - self.connection = connection(description, machine, user, password) - - self.reader = ReaderThread(self.connection.fd, logfile, prompt, - prompt_counter, self.producer) - self.reader.start() - - self.sender = SenderThread(self.connection.fd, prompt_counter, - self.connection, env, action, description, - prompt, event) - self.sender.start() - - def wait(self, timeout=-1): - if self.connection.active == False: - return self.connection.retcode - try: - (pid, ret) = os.waitpid(self.connection.pid, 0) - except KeyboardInterrupt, e: - log("ERROR: ctrl+c catched! " + str(e)) - os._exit(1) - except BaseException, e: - log("ERROR: " + str(e)) - os._exit(1) - self.sender.join() - self.reader.join() - return ret - - #this function should not be called, it is used internally by 'waitlog' - #in mode 'background thread' - #TODO: join() the thread at some point - def _waitlog_thread(self, task, s): - consumed = 0 - while True: - consumed = task.producer.get(consumed) - if consumed == -1: - log("ERROR: string '" + s + "' not found in logfile " + - task.logfile) - task.waitlog_state = WAITLOG_FAILURE - task.waitlog_event.set() - return - if s in open(task.logfile).read(): - task.waitlog_state = WAITLOG_SUCCESS - task.waitlog_event.set() - return - - #two ways to wait for a string in the log file: - # - blocking way - # - background thread, using an Event to signal success/failure - def waitlog(self, s, event=None): - if event != None: - self.waitlog_state = WAITLOG_RUNNING - self.waitlog_event = event - self.waitlog_thread = \ - threading.Thread(target=self._waitlog_thread, - args=(self, s)) - self.waitlog_thread.start() - return - - #TODO: optimize, do not process all the file at each wakeup - consumed = 0 - while True: - consumed = self.producer.get(consumed) - if consumed == -1: - log("ERROR: string '" + s + "' not found in logfile " + - self.logfile) - raise WaitlogFailed() - if s in open(self.logfile).read(): - return - - def sendnow(self, x): - self.connection.send(x) - - def alive(self): - return self.sender.alive - - def kill(self): - self.connection.kill() - #put some error log in logfile, for verbosity - try: - f = open(self.logfile, "a+") - f.write("\n\n" + utils.RED + "TEST_SETUP_ERROR: " + utils.RESET + - "task killed by test setup\n\n"); - close(f) - except BaseException, e: - pass - - def postaction(self): - if self.post_action != None: - out = utils.quickshell(self.post_action) - if len(out): - log("INFO: task '" + self.description + - "' post_action '" + self.post_action + "' says: ") - for l in out.splitlines(): - log("INFO: " + l) diff --git a/cmake_targets/autotests/v2/utils.py b/cmake_targets/autotests/v2/utils.py deleted file mode 100755 index e54bd458050f269483959b81dcfe66702e9efdc5..0000000000000000000000000000000000000000 --- a/cmake_targets/autotests/v2/utils.py +++ /dev/null @@ -1,84 +0,0 @@ -import subprocess, os, thread, sys, time - -#logging facitiliy -#TODO: simplify (a first version redefined stdout, then we replaced 'print' -#instead, keeping stuff as is) -class Logger: - def __init__(self, stream): - self.stream = stream - self.start_of_line = True - self.lock = thread.allocate_lock() - openair_dir = os.environ.get('OPENAIR_DIR') - if openair_dir == None: - print "FATAL: no OPENAIR_DIR" - os._exit(1) - try: - self.logfile = open(openair_dir + - "/cmake_targets/autotests/log/python.stdout", "w") - except BaseException, e: - print "FATAL: cannot create log file" - print e - os._exit(1) - def put(self, data): - self.stream.write(data) - self.logfile.write(data) - def write(self, data): - self.lock.acquire() - for c in data: - if self.start_of_line: - self.start_of_line = False - t = time.strftime("%H:%M:%S", time.localtime()) + ": " - self.stream.write(t) - self.logfile.write(t) - self.put(c) - if c == '\n': - self.start_of_line = True - self.stream.flush() - self.logfile.flush() - self.lock.release() -logger = Logger(sys.stdout) -def log(x): - logger.write(x + "\n") - -#check if given test is in list -#it is in list if one of the strings in 'list' is at the beginning of 'test' -def test_in_list(test, list): - for check in list: - check=check.replace('+','') - if (test.startswith(check)): - return True - return False - -#run a local command in a shell -def quickshell(command): - process = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE, - stderr=subprocess.STDOUT) - (retout, reterr) = process.communicate() - if (process.returncode != 0): - log("ERROR: shell command failed: " + command) - if len(retout): - log("ERROR: command says: ") - for l in retout.splitlines(): - log("ERROR: " + l) - os._exit(1) - return retout - -RED="\x1b[31m" -GREEN="\x1b[32m" -YELLOW="\x1b[33m" -RESET="\x1b[m" - -#an exception raised when a test fails -class TestFailed(Exception): - pass - -#this function returns True if a test in 'x' is set to True -#to be used as: if do_tests(tests['b210']['alu']) ... -def do_tests(x): - if type(x) == list: - for v in x: - if do_tests(v): return True - return False - if type(x) == dict: return do_tests(x.values()) - if x == True: return True - return False diff --git a/cmake_targets/build_oai b/cmake_targets/build_oai index 104c83de23dd6aaa0a5dab3e9a310f26f81a9cd4..5ed0ea3c9b8f678ee902680fe0ef36899a62e886 100755 --- a/cmake_targets/build_oai +++ b/cmake_targets/build_oai @@ -34,14 +34,13 @@ source "$THIS_SCRIPT_PATH"/tools/build_helper set_openair_env # Variables for UE data generation -gen_nvram_path=$OPENAIR_DIR/targets/bin +gen_nvram_path=$OPENAIR_DIR/cmake_targets/ran_build/build conf_nvram_path=$OPENAIR_DIR/openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf XFORMS="True" SKIP_SHARED_LIB_FLAG="False" PRINT_STATS="False" DEADLINE_SCHEDULER_FLAG_USER="" -REL="Rel15" HW="None" TP="Ethernet" EPC=0 @@ -536,9 +535,8 @@ function main() { echo_info "Erased all previously producted files" fi - dbin=$OPENAIR_DIR/targets/bin dlog=$OPENAIR_DIR/cmake_targets/log - mkdir -p $dbin $dlog + mkdir -p $dlog if [ "$INSTALL_EXTERNAL" = "1" ] ; then echo_info "Installing packages" @@ -636,9 +634,7 @@ function main() { for f in $execlist ; do echo_info "Compiling $f..." - compilations \ - $BUILD_DIR $f \ - $f $dbin/$f.$REL + compilations $BUILD_DIR $f done @@ -650,13 +646,9 @@ function main() { # configuration module libraries, one currently available, using libconfig config_libconfig_shlib=params_libconfig - compilations \ - $BUILD_DIR $config_libconfig_shlib \ - lib$config_libconfig_shlib.so $dbin/lib$config_libconfig_shlib.so + compilations $BUILD_DIR $config_libconfig_shlib - compilations \ - $BUILD_DIR coding \ - libcoding.so $dbin/libcoding.so + compilations $BUILD_DIR coding fi @@ -667,9 +659,7 @@ function main() { if [ $IS_CONTAINER -eq 0 ] then echo_info "Building ue_ip module" - compilations \ - $BUILD_DIR ue_ip \ - CMakeFiles/ue_ip/ue_ip.ko $dbin/ue_ip.ko + compilations $BUILD_DIR ue_ip else echo_info "Bypassing ue_ip build" fi #IS_CONTAINER @@ -677,32 +667,20 @@ function main() { # mkdir -p $DIR/at_commands/build # cd $DIR/at_commands/build # eval $CMAKE_CMD -# compilations \ -# at_commands at_nas_ue \ -# at_nas_ue $dbin/at_nas_ue +# compilations at_commands at_nas_ue [ "$CLEAN" = "1" ] && rm -rf $DIR/nas_sim_tools/build mkdir -p $DIR/nas_sim_tools/build cd $DIR/nas_sim_tools/build eval $CMAKE_CMD .. - compilations \ - nas_sim_tools usim \ - usim $dbin/usim - compilations \ - nas_sim_tools nvram \ - nvram $dbin/nvram - compilations \ - nas_sim_tools conf2uedata \ - conf2uedata $dbin/conf2uedata + compilations nas_sim_tools usim + compilations nas_sim_tools nvram + compilations nas_sim_tools conf2uedata # generate USIM data - if [ -f $dbin/conf2uedata ]; then - install_nas_tools $conf_nvram_path $gen_nvram_path "$dlog/conf2uedata.txt" - echo_info "Copying UE specific part to $DIR/$BUILD_DIR/build" - cp -Rvf $dbin/.ue_emm.nvram0 $DIR/$BUILD_DIR/build - cp -Rvf $dbin/.ue.nvram0 $DIR/$BUILD_DIR/build - cp -Rvf $dbin/.usim.nvram0 $DIR/$BUILD_DIR/build + if [ -f conf2uedata ]; then + install_nas_tools $conf_nvram_path $DIR/$BUILD_DIR/build "$DIR/$BUILD_DIR/build/conf2uedata.txt" else echo_warning "not generated UE NAS files: binaries not found" fi @@ -719,13 +697,9 @@ function main() { simlist="dlsim ulsim ldpctest polartest smallblocktest nr_pbchsim nr_dlschsim nr_ulschsim nr_dlsim nr_ulsim nr_pucchsim nr_prachsim" # simlist="ldpctest" for f in $simlist ; do - compilations \ - $BUILD_DIR $f \ - $f $dbin/$f.$REL + compilations $BUILD_DIR $f done - compilations \ - $BUILD_DIR coding \ - libcoding.so $dbin/libcoding.so + compilations $BUILD_DIR coding fi ################### @@ -735,9 +709,7 @@ function main() { echo_info "Compiling security unitary tests simulators" simlist="secu_knas_encrypt_eia1 secu_kenb aes128_ctr_encrypt aes128_ctr_decrypt secu_knas_encrypt_eea2 secu_knas secu_knas_encrypt_eea1 kdf aes128_cmac_encrypt secu_knas_encrypt_eia2" for f in $simlist ; do - compilations \ - $BUILD_DIR test_$f \ - test_$f $dbin/test_$f.$REL + compilations $BUILD_DIR test_$f done fi @@ -746,21 +718,15 @@ function main() { #################################### if [ "$HW" = "EXMIMO" ] ; then echo_info "Compiling Express MIMO 2 board drivers" - compilations \ - $BUILD_DIR openair_rf \ - CMakeFiles/openair_rf/openair_rf.ko $dbin/openair_rf.ko - compilations \ - $BUILD_DIR updatefw \ - updatefw $dbin/updatefw + compilations $BUILD_DIR openair_rf + compilations $BUILD_DIR updatefw echo_info "Compiling oarf tools. The logfile for compilation is here: $dlog/oarf.txt" make -C $OPENAIR_DIR/cmake_targets/$BUILD_DIR/build oarf > $dlog/oarf.txt 2>&1 - cp $OPENAIR_DIR/cmake_targets/$BUILD_DIR/build/*.oct $dbin - if [ -s $dbin/oarf_config_exmimo.oct ] ; then + if [ -s $OPENAIR_DIR/cmake_targets/$BUILD_DIR/build/oarf_config_exmimo.oct ] ; then echo_success "oarf tools compiled" else echo_error "oarf tools compilation failed" fi - cp $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 $dbin fi ###################### @@ -768,9 +734,7 @@ function main() { ###################### if [ ! -z "$BUILD_OPTLIB" ] ; then for oklib in $BUILD_OPTLIB ; do - compilations \ - $BUILD_DIR $oklib \ - lib${oklib}.so $dbin/lib${oklib}.so + compilations $BUILD_DIR $oklib done fi @@ -782,52 +746,36 @@ function main() { # build RF device libraries if [ "$HW" != "None" ] ; then rm -f liboai_device.so - rm -f $dbin/liboai_device.so # link liboai_device.so with the selected RF device library if [ "$HW" == "EXMIMO" ] ; then - compilations \ - $BUILD_DIR oai_exmimodevif \ - liboai_exmimodevif.so $dbin/liboai_exmimodevif.so.$REL + compilations $BUILD_DIR oai_exmimodevif ln -sf liboai_exmimodevif.so liboai_device.so - ln -sf $dbin/liboai_exmimodevif.so.$REL $dbin/liboai_device.so echo_info "liboai_device.so is linked to EXMIMO device library" elif [ "$HW" == "OAI_USRP" ] ; then - compilations \ - $BUILD_DIR oai_usrpdevif \ - liboai_usrpdevif.so $dbin/liboai_usrpdevif.so.$REL + compilations $BUILD_DIR oai_usrpdevif ln -sf liboai_usrpdevif.so liboai_device.so - ln -sf $dbin/liboai_usrpdevif.so.$REL $dbin/liboai_device.so echo_info "liboai_device.so is linked to USRP device library" elif [ "$HW" == "OAI_BLADERF" ] ; then if [ -f "/usr/include/libbladeRF.h" ] ; then - compilations \ - $BUILD_DIR oai_bladerfdevif \ - liboai_bladerfdevif.so $dbin/liboai_bladerfdevif.so.$REL + compilations $BUILD_DIR oai_bladerfdevif fi ln -sf liboai_bladerfdevif.so liboai_device.so - ln -sf $dbin/liboai_bladerfdevif.so.$REL $dbin/liboai_device.so echo_info "liboai_device.so is linked to BLADERF device library" elif [ "$HW" == "OAI_LMSSDR" ] ; then # if [ -f "/usr/include/libbladeRF.h" ] ; then - compilations \ - $BUILD_DIR oai_lmssdrdevif \ - liboai_lmssdrdevif.so $dbin/liboai_lmssdrdevif.so.$REL + compilations $BUILD_DIR oai_lmssdrdevif # fi ln -sf liboai_lmssdrdevif.so liboai_device.so - ln -sf $dbin/liboai_lmssdrdevif.so.$REL $dbin/liboai_device.so echo_info "liboai_device.so is linked to LMSSDR device library" elif [ "$HW" == "OAI_IRIS" ] ; then - compilations \ - $BUILD_DIR oai_irisdevif \ - liboai_irisdevif.so $dbin/liboai_irisdevif.so.$REL + compilations $BUILD_DIR oai_irisdevif ln -s liboai_irisdevif.so liboai_device.so - ln -s $dbin/liboai_irisdevif.so.$REL $dbin/liboai_device.so echo_info "liboai_device.so is linked to IRIS device library" elif [ "$HW" == "OAI_ADRV9371_ZC706" ] ; then SYRIQ_KVER=$(uname -r) @@ -842,12 +790,9 @@ function main() { fi echo_info "liboai_device.so is linked to ADRV9371_ZC706 device library for Kernel $SYRIQ_KMAJ.$SYRIQ_KMIN" elif [ "$HW" == "OAI_AW2SORI" ] ; then - compilations \ - $BUILD_DIR aw2sori_transpro \ - libaw2sori_transpro.so $dbin/libaw2sori_transpro.so.$REL + compilations $BUILD_DIR aw2sori_transpro ln -sf libaw2sori_transpro.so libthirdparty_transpro.so - ln -sf $dbin/libaw2sori_transpro.so.$REL $dbin/libaw2sori_transpro.so echo_info "build libthirdparty_transpro.so for AW2SORI fronthaul" else echo_info "liboai_device.so is not linked to any device library" @@ -857,38 +802,26 @@ function main() { #build simulators devices if [ "$SKIP_SHARED_LIB_FLAG" = "False" ]; then echo_info "Compiling rfsimulator" - compilations \ - $BUILD_DIR rfsimulator \ - librfsimulator.so $dbin/librfsimulator.so.$REL + compilations $BUILD_DIR rfsimulator fi #build transport protocol libraries (currently only ETHERNET is available) if [ "$SKIP_SHARED_LIB_FLAG" = "False" ]; then echo_info "Building transport protocol libraries" rm -f liboai_transpro.so - rm -f $dbin/liboai_transpro.so if [ "$TP" == "Ethernet" ]; then - compilations \ - $BUILD_DIR oai_eth_transpro \ - liboai_eth_transpro.so $dbin/liboai_eth_transpro.so.$REL + compilations $BUILD_DIR oai_eth_transpro ln -sf liboai_eth_transpro.so liboai_transpro.so - ln -sf $dbin/liboai_eth_transpro.so.$REL $dbin/liboai_transpro.so echo_info "liboai_transpro.so is linked to ETHERNET transport" fi if [ "$TP" == "benetel4g" ]; then - compilations \ - $BUILD_DIR benetel_4g \ - libbenetel_4g.so $dbin/libbenetel_4g.$REL + compilations $BUILD_DIR benetel_4g ln -sf libbenetel_4g.so liboai_transpro.so - ln -sf $dbin/libbenetel_4g.so.$REL $dbin/liboai_transpro.so echo_info "liboai_transpro.so is linked to BENETEL4G transport" fi if [ "$TP" == "benetel5g" ]; then - compilations \ - $BUILD_DIR benetel_5g \ - libbenetel_5g.so $dbin/libbenetel_5g.$REL + compilations $BUILD_DIR benetel_5g ln -sf libbenetel_5g.so liboai_transpro.so - ln -sf $dbin/libbenetel_5g.so.$REL $dbin/liboai_transpro.so echo_info "liboai_transpro.so is linked to BENETEL4G transport" fi fi diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper index 0e0b6e25cce326eae89ec62949c7cfa8534e7a2d..adc0a636db75b62f7d6f42a9ae22374a971e0b2e 100755 --- a/cmake_targets/tools/build_helper +++ b/cmake_targets/tools/build_helper @@ -121,6 +121,7 @@ check_supported_distribution() { "rhel8.5") return 0 ;; "rhel8.6") return 0 ;; "rhel8.7") return 0 ;; + "rhel9.0") return 0 ;; "centos7") return 0 ;; "centos8") return 0 ;; esac @@ -167,7 +168,6 @@ clean_kernel() { clean_all_files() { set_openair_env dir=$OPENAIR_DIR/cmake_targets - rm -rf $dir/log $OPENAIR_DIR/targets/bin/* rm -rf $dir/ran_build $dir/ran_build_noLOG rm -rf $dir/lte-simulators/build rm -rf $dir/nas_sim_tools/build @@ -207,7 +207,7 @@ check_errors() { compilations() { cd $OPENAIR_DIR/cmake_targets/$1/build - echo_info "Log file for compilation is being written to: $dlog/$2.$REL.txt" + echo_info "Log file for compilation is being written to: $dlog/$2.txt" set +e { if [ "$BUILD_COVERITY_SCAN" == "1" ]; then @@ -225,27 +225,18 @@ compilations() { fi fi ret=$? - } > $dlog/$2.$REL.txt 2>&1 + } > $dlog/$2.txt 2>&1 set -e if [ "$VERBOSE_CI" == "1" ]; then - echo_info "====== Start of log for $2.$REL.txt ======" - cat $dlog/$2.$REL.txt - echo_info "====== End of log for $2.$REL.txt ======" + echo_info "====== Start of log for $2.txt ======" + cat $dlog/$2.txt + echo_info "====== End of log for $2.txt ======" fi - if [[ $ret -ne 0 ]]; then - check_warnings "$dlog/$2.$REL.txt" - check_errors "$dlog/$2.$REL.txt" - echo_error "$2 compilation failed" - exit 1 - fi - if [ -s "$3" ] ; then - rm -f "$4" - ln -s "$PWD/$3" "$4" + check_warnings "$dlog/$2.txt" + if [[ $ret -eq 0 ]]; then echo_success "$2 compiled" - check_warnings "$dlog/$2.$REL.txt" else - check_warnings "$dlog/$2.$REL.txt" - check_errors "$dlog/$2.$REL.txt" + check_errors "$dlog/$2.txt" echo_error "$2 compilation failed" exit 1 fi diff --git a/cmake_targets/tools/build_test_epc_tools b/cmake_targets/tools/build_test_epc_tools deleted file mode 100755 index dc2d01654593d1b4f2290cd6720143c3b0b7e679..0000000000000000000000000000000000000000 --- a/cmake_targets/tools/build_test_epc_tools +++ /dev/null @@ -1,148 +0,0 @@ -#!/bin/bash -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# file build_test_epc_tools -# brief -# author Lionel Gauthier -# company Eurecom -# email: lionel.gauthier@eurecom.fr -# -################################ -# include helper functions -################################ -THIS_SCRIPT_PATH=$(dirname $(readlink -f $0)) -source $THIS_SCRIPT_PATH/build_helper - -function help() -{ - echo_error " " - echo_error "Usage: build_test_epc_tools [OPTION]..." - echo_error "Build the executables for generating and running a test case for EPC." - echo_error " " - echo_error "Options:" - echo_error "Mandatory arguments to long options are mandatory for short options too." - echo_error " -c, --clean Clean the build generated files (build from scratch)" - echo_error " -d, --debug Compile with debug informations." - echo_error " -h, --help Print this help." - echo_error " -v, --verbose Build process verbose." - echo_error " " -} - - - -function main() -{ - local -i clean=0 - local -i verbose=0 - local cmake_args=" " - local make_args="-j $NUM_CPU" - local realm="" - - - until [ -z "$1" ] - do - case "$1" in - -c | --clean) - clean=1 - echo "Clean the build generated files (build from scratch)" - shift; - ;; - -d | --debug) - cmake_args="$cmake_args -DDEBUG=1" - echo "Compile with debug informations" - shift; - ;; - -h | --help) - help - shift; - exit 0 - ;; - -v | --verbose) - echo "Make build process verbose" - cmake_args="$cmake_args -DCMAKE_VERBOSE_MAKEFILE=ON" - make_args="VERBOSE=1 $make_args" - verbose=1 - shift; - ;; - *) - echo "Unknown option $1" - help - exit 1 - ;; - esac - done - - - - - set_openair_env - if [[ $verbose -eq 1 ]]; then - cecho "OPENAIR_DIR = $OPENAIR_DIR" $green - fi - - local dbin=$OPENAIR_DIR/targets/bin - local dlog=$OPENAIR_DIR/cmake_targets/log - local dconf=$OPENAIR_DIR/targets/bin - - mkdir -m 777 -p $dbin $dlog - - ############################################################################## - # Compile userspace executable - ############################################################################## - cd $OPENAIR_DIR/cmake_targets/epc_test - if [ $clean -ne 0 ]; then - if [[ $verbose -eq 1 ]]; then - echo "Cleaning TEST_EPC" - fi - rm -f $OPENAIR_DIR/targets/bin/test_epc_generate_scenario - rm -f $OPENAIR_DIR/targets/bin/test_epc_play_scenario - rm -Rf build 2>&1 - mkdir -m 777 -p -v build - fi - - ############################################################################## - # Compile EPC - ############################################################################## - cd $OPENAIR_DIR/cmake_targets/epc_test - if [ ! -d ./build ]; then - mkdir -m 777 -p -v build - fi - cmake_file=./CMakeLists.txt - cp $OPENAIR_DIR/cmake_targets/epc_test/CMakeLists.template $cmake_file - echo 'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)' >> $cmake_file - cd ./build - cmake $cmake_args .. - compilations \ - epc_test test_epc_generate_scenario \ - test_epc_generate_scenario $dbin/test_epc_generate_scenario - - compilations \ - epc_test test_epc_play_scenario \ - test_epc_play_scenario $dbin/test_epc_play_scenario - - $SUDO cp -upv test_epc_generate_scenario /usr/local/bin - $SUDO cp -upv test_epc_play_scenario /usr/local/bin -} - - -main "$@" - diff --git a/cmake_targets/tools/init_exmimo2 b/cmake_targets/tools/init_exmimo2 deleted file mode 100755 index 8e902a8433d7fe760b72d28aa16165f10626b15e..0000000000000000000000000000000000000000 --- a/cmake_targets/tools/init_exmimo2 +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/bash - -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# file init_nas_nos1 -# brief loads the nasmesh module and sets up the radio bearers (used to provide ip interface without S1 interface) -# author Florian Kaltenberger -# -####################################### - -load_module() -{ - mod_name=${1##*/} - mod_name=${mod_name%.*} - if awk "/$mod_name/ {found=1 ;exit} END {if (found!=1) exit 1}" /proc/modules - then - echo "module $mod_name already loaded: I remove it first" - sudo rmmod $mod_name - fi - echo loading $mod_name - sudo insmod $1 -} - - -function main() -{ -PCI=`lspci -m | grep Xilinx` -if [ -z "$PCI" ]; then - echo "No card found. Stopping!" - return -fi - -## This part corrects the wrong configuration of the endpoint done by the bios in some machines -echo "$PCI" | while read config_reg; do -SLOT_NUMBER=`echo $config_reg | awk -F\" '{print $1}'` -sudo setpci -s $SLOT_NUMBER 60.b=10 -done - - -load_module $OPENAIR_DIR/targets/bin/openair_rf.ko -sleep 1 - -if [ ! -e /dev/openair0 ]; then - sudo mknod /dev/openair0 c 127 0 - sudo chmod a+rw /dev/openair0 -fi - - $OPENAIR_DIR/targets/bin/updatefw -s 0x43fffff0 -b -f $OPENAIR_TARGETS/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT/sdr_expressmimo2_v10 -} - -main "$@" diff --git a/cmake_targets/tools/init_nas_nos1 b/cmake_targets/tools/init_nas_nos1 index 5766020d70629c7d17f9b1dbc57786705838c272..a94639026a5838a7d5d9bdff7283327a86b84b7a 100755 --- a/cmake_targets/tools/init_nas_nos1 +++ b/cmake_targets/tools/init_nas_nos1 @@ -39,16 +39,16 @@ load_module() { sudo insmod $1 } -load_module $OPENAIR_DIR/targets/bin/nasmesh.ko +load_module $OPENAIR_DIR/cmake_targets/ran_build/build/nasmesh.ko if [ "$1" = "eNB" ]; then echo "bring up oai0 interface for enb" sudo ifconfig oai0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255 - $OPENAIR_DIR/targets/bin/rb_tool -a -c0 -i0 -z0 -s 10.0.1.1 -t 10.0.1.2 -r 1 + $OPENAIR_DIR/cmake_targets/ran_build/build/rb_tool -a -c0 -i0 -z0 -s 10.0.1.1 -t 10.0.1.2 -r 1 else if [ "$1" = "UE" ]; then echo "bring up oai0 interface for UE" sudo ifconfig oai0 10.0.1.2 netmask 255.255.255.0 broadcast 10.0.1.255 - $OPENAIR_DIR/targets/bin/rb_tool -a -c0 -i0 -z0 -s 10.0.1.2 -t 10.0.1.1 -r 1 + $OPENAIR_DIR/cmake_targets/ran_build/build/rb_tool -a -c0 -i0 -z0 -s 10.0.1.2 -t 10.0.1.1 -r 1 fi fi diff --git a/cmake_targets/tools/init_nas_s1 b/cmake_targets/tools/init_nas_s1 index b78ab34ff9f90d825303e3bb807e0f8e177f3df6..deee97634ceab079beaca2f36c6e457b232f48ca 100755 --- a/cmake_targets/tools/init_nas_s1 +++ b/cmake_targets/tools/init_nas_s1 @@ -48,7 +48,7 @@ load_module() { sudo insmod $1 } -load_module ../../targets/bin/ue_ip.ko +load_module ../ran_build/build/ue_ip.ko if [ "$1" = "UE" ]; then echo "bring up $LTEIF interface for UE" diff --git a/cmake_targets/tools/perf_oai.bash b/cmake_targets/tools/perf_oai.bash deleted file mode 100755 index cd1ef5a40004d3588637d1d936122c4cfedbe314..0000000000000000000000000000000000000000 --- a/cmake_targets/tools/perf_oai.bash +++ /dev/null @@ -1,782 +0,0 @@ -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# file build_oai.bash -# brief apply a traffic generator, send traffic and measure the performance of OAI -# OTG is mainly used for OASIM and D-ITG (or iperf) for LTE-SOFTMODEM -# author Navid Nikaein -# company Eurecom -# email: navid.nikaein@eurecom.fr -# date 2015 - -#!/bin/bash -################################ -# include helper functions -################################ -THIS_SCRIPT_PATH=$(dirname $(readlink -f $0)) -. $THIS_SCRIPT_PATH/build_helper - - -####################################### -# Default PARAMETERS -###################################### -#general - -declare PERF_APP="OTG-OAISIM" # ITG, ITG_DECODE, PING, OTG, -declare TEST_MODE=0 -declare KEEP_LOG_FILESNUM_PKTS=0 -declare OWD="rttm" -declare DURATION=60000 # ms -declare NUM_PKTS=10000 -declare KBYTES=1000 # KBYTES -declare START=0 -declare DST="127.0.0.1" -declare DPORT="8999" -declare TP="UDP" -declare IDT_DIST="CONSTANT" -declare PS_DIST="CONSTANT" - -#IDT -declare RATE=1000 # pkt / s -declare MIN_RATE=100 -declare MAX_RATE=1000 - -# set paths to the required binaries and check if the required binaries are available -ENB_CONFIG=$OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf -OAISIM_EXEC=$OPENAIR_DIR/cmake_targets/oaisim_noS1_build_oai/build/oaisim_nos1 -BYPASSE_ITTI=0 -OTGPLOT="$OPENAIR2_DIR/UTIL/OTG/OTGplot" -PS2PDF="ps2pdf" - -print_help_perf(){ - echo_success "Name : perf_oai generate traffic and evaluate the performance " - echo_success "Usage: perf_oai -l ITG " - echo_success "-l | --perf-app : Set Performance evaluation app: ITGS, ITGD,PING, OTG-OAISIM, OTG-CBA, (default OTG-OAISIM)" - echo_success "-m | --owd : enable D-ITG one-way-delay meter (default disabled)" - echo_success "-e | --duration : set the duration of the experiment (default 60000ms)" - echo_success "-i | --idt-dist : set the distribution of the inter-departure time: CONSTANT, UNIFORM,EXPONENTIAL (default CONSTANT)" - echo_success "-s | --ps-dist : set the distribution of the inter-departure time (default CONSTANT, available options: UNIFORM,EXPONENTIAL)" - echo_success "-d | --dst : set the destination address (default 127.0.0.1)" - echo_success "-p | --dst-port : set the destination address (default NONE)" - echo_success "-t | --test : enable test mode to validate the functionality (default disabled)" - echo_success "-k | --keep-log-file : keep the log files (default disabled)" - echo_success "-c | --enb-config : set the eNB config path (default $ENB_CONFIG)" - echo_success "-x | --oaisim-exec : set oaisim exec path (default $OASIM_EXEC with nos1 and ITTI enabled)" - echo_success "-b | --bypass-itti : bypass ITTI interafce (default use itti)" - - -} - -################################ -# run ITGSEND -################################ - -itg_send(){ - - $SUDO apt-get install -y test_install_package d-itg - - LOG_FILE="itg_log_template.txt" - touch results/${LOG_FILE} - - if [ $TEST_MODE = 0 ] ; then - declare -a PS=(32 64 128 256 512 1024 1408) - declare -a IDT=(1 5 10 50 100 1000) - else - declare -a PS=(32 64) - declare -a IDT=(1) - fi - - declare PS_LEN=${#PS[@]} - declare IDT_LEN=${#IDT[@]} -#echo_info "PS_LEN is $PS_LEN, IDT_LEN is $IDT_LEN" - - declare i=0 - declare j=0 - declare e=0 - # send traffic - for idt in ${IDT[@]}; do -# echo_info "IDT is set to $idt i is $i" - if [ $i -lt $IDT_LEN ]; then - let i++; - fi - - if [ $IDT_DIST = "CONSTANT" ]; then - IDT_OPT="-C $idt " - fi - if [ $IDT_DIST = "UNIFORM" ]; then - IDT_OPT="-U $idt ${IDT[i]} " - fi - if [ $IDT_DIST = "EXPONENTIAL" ]; then - IDT_OPT="-E $idt " - fi - - for ps in ${PS[@]}; do -# echo_info "PS is $ps j is $j" - if [ $j -lt $PS_LEN ]; then - let j++; - fi - if [ $PS_DIST = "CONSTANT" ]; then - PS_OPT="-c $ps " - fi - if [ $PS_DIST = "UNIFORM" ]; then - PS_OPT="-u $ps ${PS[j]} " - fi - if [ $PS_DIST = "EXPONENTIAL" ]; then - PS_OPT="-e $ps " - fi - start=$(date +%s) - RECV_FILE="recv_log_${IDT_DIST}_idt${idt}_${PS_DIST}_ps${ps}_${OWD}_${TP}" - echo_info "Start test_$i.$j:: ITGSend -a $DST $IDT_OPT $PS_OPT -m $OWD -d $START -T $TP -t $DURATION -x $RECV_FILE -l " - echo "Start test_$i.$j:: ITGSend -a $DST $IDT_OPT $PS_OPT -m $OWD -d $START -T $TP -t $DURATION -x $RECV_FILE -l " >> results/${oai_exp_date} - #sleep 1 - ITGSend -a $DST $IDT_OPT $PS_OPT -m $OWD -d $START -T $TP -t $DURATION -x $RECV_FILE -l - itg_status=$? - end=$(date +%s) - diff=$(( $end - $start )) - - if [ $itg_status = 0 ] ; then - echo_success "[$end] test_$i.$j passed" - echo "[$end] test_$i.$j passed" >> ./results/$LOG_FILE - STATUS="PASSED" - else - let e++; - echo_error "[$end] test_$i.$j failed :: D-ITG return exit code $itg_status" - echo "[$end]test_$i.$j failed :: ITG return exit code $itg_status" >> ./results/$LOG_FILE - STATUS="FAILED" - fi - - echo_info "End test_$i.$j:: runtime: $diff" - echo "End test_$i.$j:: runtime: $diff" >> results/${oai_exp_date} - - done - - done - -} - -itg_decode(){ - - declare i=0 - declare j=0 - if [ $TEST_MODE = 0 ] ; then - declare -a PS=(32 64 128 256 512 1024 1408) - declare -a IDT=(1 5 10 50 100 1000) - else - declare -a PS=(32 64) - declare -a IDT=(1) - fi - - for idt in ${IDT[@]}; do - - for ps in ${PS[@]}; do - RECV_FILE="recv_log_${IDT_DIST}_idt${idt}_${PS_DIST}_ps${ps}_${OWD}_${TP}" - OUTPUT_FILE="results_${IDT_DIST}_idt${idt}_${PS_DIST}_ps${ps}_${OWD}_${TP}.txt" - OCTAVE_FILE="results_${IDT_DIST}_idt${idt}_${PS_DIST}_ps${ps}_${OWD}_${TP}.." - - echo_info "decode test_$i.$j: ITGDec $RECV_FILE -v -t -l $OUTPUT_FILE -o $OCTAVE_FILE" - ITGDec $RECV_FILE -v -t -l $OUTPUT_FILE - - done - - done - - -} - -ping_stats(){ - - status="failed" - failedhosts="" - -# add ip / hostname separated by white space - -if [ $TEST_MODE = 0 ]; then - declare COUNT=100 - declare -a HOSTS=($DST) - declare -a PS=(64 768 2048 4096 8192) - declare -a IDT=(1 .8 .4 .2) -else - declare COUNT=10 - declare -a HOSTS=(localhost) - declare -a PS=(64 2048) - declare -a IDT=(.5) -fi - - -declare i=0 -declare j=0 -declare k=0 - -start_exp=$(date +%s) - -for host in ${HOSTS[@]}; do - let i++; - let j=0; - OUTPUT_FILE="rtt_host${host}.csv" - touch results/${OUTPUT_FILE} - for idt in ${IDT[@]}; do - let j++; - let k=0; - for ps in ${PS[@]}; do - let k++; - # | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }') - start=$(date +%s) - LOG_FILE="recv_log_host${host}_idt${idt}_ps${ps}.txt" - touch results/${LOG_FILE} - echo_info "Start test_$i.$j.$k:: ping -c $COUNT -q -U $host -s $ps -i $idt" - echo "Start test_$i.$j.$k:: ping -c $COUNT -q -U $host -s $ps -i $idt" >> results/${oai_exp_date} - $(ping -c $COUNT -q -U $host -s $ps -i $idt 1>&2 >> ./results/$LOG_FILE ) - end=$(date +%s) - diff=$(( $end - $start )) - - count=$(cat ./results/$LOG_FILE | awk -F, '/received/{print $2*1}') - latency=$(cat ./results/$LOG_FILE | tail -1 |cut -f2- -d=) - - MIN=$(cut -f1 -d/ <<< $latency) - AVG=$(cut -f2 -d/ <<< $latency) - MAX=$(cut -f3 -d/ <<< $latency) - MDEV=$(cut -f4 -d/ <<< $latency | cut -f1 -d" ") - UNIT=$(cut -f2 -d" " <<< $latency) - - echo_success "Latency:: count $count min $MIN avg $AVG max $MAX mdev $MDEV ($UNIT)" - echo "$idt;$ps;$COUNT;$count;$MIN;$AVG;$MAX;$MDEV;" >> ./results/$OUTPUT_FILE - if [ $count -eq 0 ]; then - failedhosts="$failedhosts $host" - status="failed" - else - status="passed" - fi - echo_info "End test_$i.$j.$k:: runtime: $diff :: status $status " - echo "End test_$i.$j.$k:: runtime: $diff :; status $status" >> results/${oai_exp_date} - - done - done -done -end_exp=$(date +%s) -diff_exp=$(( $end_exp - $start_exp )) - -let total_tests=i*j*k; -echo_info "total tests: $total_tests for a duration $diff_exp (s)" - -} - -oaisim_otg_stats(){ - -# install the required packages - - $SUDO apt-get install -y octave >> results/perf_log.txt 2>&1 - - $SUDO pkill oaisim - $SUDO pkill oaisim_nos1 - - $SUDO rmmod nasmesh > /dev/null 2>&1 - - echo_success "Bringup UE interface..." - $SUDO insmod $OPENAIR_DIR/targets/bin/nasmesh.ko - sync - - if [ ! -f $OAISIM_EXEC ]; then - echo_info "3.1 compiling OAISIM ($OPENAIR_DIR/cmake_targets/build_oai --oaisim -c --noS1)" - ($OPENAIR_DIR/cmake_targets/build_oai --oaisim -c --noS1 >> results/perf_log.txt 2>&1 ) - build_stats=$? - if [ $build_stats != 0 ] ; then - echo_error "$OAISIM_EXEC cannot be built, check results/perf_log.txt file" - exit $? - fi - else - echo_info "ensure that OAISIM is not built with the S1 interface" - fi - - if [ ! -f $OTGPLOT ]; then - echo_error "$OTGPLOT not found" - exit $? - fi - -# Set the default Parameters - ABSTRACTION=1 -#FRAME_TYPE=0 # FDD=0, TDD =1, 2,3,4,5,6 - AGGR_RESULT=1 - STATUS="PASSED" - EXTRA_STATS=0 - declare NUM_UES=1 - declare TRAFFIC_DIRECTIONS=2 # DL and UL - - if [ $TEST_MODE = 0 ]; then - declare -a TEMPLATES=(120 121 122 123 124 125 126 127 128 129) - declare -a FRAME_TYPE=(0) # (0 3) - declare -a METRICS=(latency jitter goodput) - declare -a RB=(25 50 100) - else - declare -a TEMPLATES=(120 122 125 128) - declare -a FRAME_TYPE=(0) - declare -a METRICS=(latency) - declare -a RB=(25) - fi - - if [ $ABSTRACTION = 1 ]; then - OPT="-a " - fi - - if [ $BYPASSE_ITTI = 0 ]; then - OPT="$OPT -O $ENB_CONFIG " - fi - - declare num_cols=0 - let num_cols=(TRAFFIC_DIRECTIONS*NUM_UES)+1 - if [ $AGGR_RESULT = 1 ]; then - COLUMN="[$num_cols:$num_cols]" - else - COLUMN="[1:$num_cols]" - fi - - declare i=0 - declare j=0 - declare k=0 - declare e=0 - - start_exp=$(date +%s) - - for template in ${TEMPLATES[@]}; do - let i++; - let j=0; - for frame in ${FRAME_TYPE[@]}; do - let j++; - let k=0; - - if [ $frame = 0 ]; then - OPT_FT="-F " - else - OPT_FT="-C $frame " - fi - - for rb in ${RB[@]}; do - let k++; - start=$(date +%s) - LOG_FILE="oaisim_log_template${template}_frame${frame}_rb${rb}.txt" - touch results/${LOG_FILE} - echo_info "[$start] Start test_$i.$j.$k:: $OAISIM_EXEC $OPT_FT $OPT -R $RB -c $template" - echo "Start test_$i.$j.$k:: $OAISIM_EXEC $OPT_FT $OPT -R $RB -c $template" >> results/${oai_exp_date} - #sleep 1 - $OAISIM_EXEC $OPT_FT $OPT -R $RB -c $template 1>&2 >> ./results/$LOG_FILE - # store exit status - oai_status=$? - end=$(date +%s) - diff=$(( $end - $start )) - - #check the oaisim exit status - if [ $oai_status = 0 ] ; then - echo_success "[$end] test_$i.$j.$k passed" - echo "[$end] test_$i.$j.$k passed" >> ./results/$LOG_FILE - STATUS="PASSED" - else - let e++; - echo_error "[$end] test_$i.$j.$k failed :: OAISIM return exit code $oai_status" - echo "[$end]test_$i.$j.$k failed :: OAISIM return exit code $oai_status" >> ./results/$LOG_FILE - STATUS="FAILED" - fi - - # create the curves - for metric in ${METRICS[@]}; do - if [ $metric = "goodput" ]; then - unit="(kB/s)" - else - unit="(ms)" - fi - if [ -f /tmp/otg_${metric}.dat ]; then - export TITLE="Application $metric $unit" - cp /tmp/otg_${metric}.dat ./results/otg-${metric}-template${template}-frame${frame}-rb${rb}.dat - echo_info "$OTGPLOT ./results/otg-${metric}-template${template}-frame${frame}-rb${rb}.dat $COLUMN" - echo "$OTGPLOT ./results/otg-${metric}-template${template}-frame${frame}-rb${rb}.dat $COLUMN" >> results/${oai_exp_date} - $($OTGPLOT ./results/otg-${metric}-template${template}-frame${frame}-rb${rb}.dat $COLUMN 1>&2 >> ./results/$LOG_FILE ) - $($PS2PDF -dOptimize=true -dEmbedAllFonts=true ./otg-${metric}-template${template}-frame${frame}-rb${rb}.eps ) - # remove the first line of the file - echo "$(tail -n+2 ./results/otg-${metric}-template${template}-frame${frame}-rb${rb}.dat)" > ./results/otg-${metric}-template${template}-frame${frame}-rb${rb}.dat - else - echo_error "file /tmp/otg_${metric}.dat does not exists" - fi - done - if [ $KEEP_LOG_FILESNUM_PKTS = 0 ]; then - rm -f ./results/$LOG_FILE - fi - mv *.eps ./results/ - mv *.pdf ./results/ - mv /tmp/otg.log ./results/otg-template${template}-frame${frame}-rb${rb}.log - echo_info "End test_$i.$j.$k:: runtime: $diff :: status $STATUS" - echo "End test_$i.$j.$k:: runtime: $diff :: status $STATUS" >> results/${oai_exp_date} - - - done - done - done - - end_exp=$(date +%s) - diff_exp=$(( $end_exp - $start_exp )) - - let total_tests=i*j*k; - echo_info "total tests: $total_tests for a duration $diff_exp (s) error ($e)" - echo "total tests: $total_tests for a duration $diff_exp (s) error ($e)" >> results/${oai_exp_date} - -} - - -cba_otg_stats(){ - - test_install_package octave - -ABSTRACTION=1 -FRAME_TYPE=0 # FDD=0, TDD =1 -AGGR_RESULT=1 -#OAISIM="$OPENAIR_TARGETS/bin/oaisim" -OAISIM="bin/oaisim.cba" # to compile: make cleanall; make Rel10=1 CBA=1 in targets/SIMU/USER -OTGPLOT="$OPENAIR2_DIR/UTIL/OTG/OTGplot" -PS2PDF="ps2pdf" -STATUS="PASSED" -EXTRA_STATS=0 -declare NUM_UES=7 -declare TRAFFIC_DIRECTIONS=1 # DL and UL - -if [ $TEST_MODE = 0 ]; then - declare -a TEMPLATES=(120 121 122 123 124 125 126 127 128 129 130) - declare -a CBA=(0 1 2 3 4) - declare -a BACKOFF=(0 15 30 60 120) - declare -a METRICS=(latency jitter goodput) - declare -a RB=(25) -else - declare -a TEMPLATES=(125) - declare -a CBA=(1) - declare -a BACKOFF=(0 15 30 60 120) - declare -a METRICS=(latency) - declare -a RB=(25) -fi - -if [ ! -f $OAISIM_EXEC ]; then - echo_error "$OAISIM_EXEC not found" - exit $? -fi -if [ ! -f $OTGPLOT ]; then - echo_error "$OTGPLOT not found" - exit $? -fi - -if [ $ABSTRACTION = 1 ]; then - OPT="-a " -fi -if [ $FRAME_TYPE = 0 ]; then - OPT="$OPT -F " -fi - -declare num_cols=0 -let num_cols=(TRAFFIC_DIRECTIONS*NUM_UES)+1 -if [ $AGGR_RESULT = 1 ]; then - COLUMN="[$num_cols:$num_cols]" -else - COLUMN="[1:$num_cols]" -fi - -declare collision=0 -declare enb_cba_access=0 -declare ue_cba_access=0 -declare missed=0 -declare unused=0 - -declare i=0 -declare j=0 -declare k=0 -declare e=0 - -start_exp=$(date +%s) - -STATS1="cba_stats1.txt" -touch results/${STATS1} - -for template in ${TEMPLATES[@]}; do - let i++; - let j=0; - for group in ${CBA[@]}; do - let j++; - let k=0; - for backoff in ${BACKOFF[@]}; do - let k++; - start=$(date +%s) - LOG_FILE="oaisim_log_template${template}_group${group}_backoff${backoff}.txt" - touch results/${LOG_FILE} - echo_info "[$start] Start test_$i.$j.$k:: $OAISIM_EXEC $OPT -w $group -R $RB --cba-backoff $backoff -c $template" - echo "Start test_$i.$j.$k:: $OAISIM_EXEC $OPT -w $group -R $RB --cba-backoff $backoff -c $template" >> results/${oai_exp_date} - #sleep 1 - $OAISIM_EXEC $OPT -w $group -R $RB --cba-backoff $backoff -c $template 1>&2 >> ./results/$LOG_FILE - # store exit status - oai_status=$? - end=$(date +%s) - diff=$(( $end - $start )) - - #check the oaisim exit status - if [ $oai_status = 0 ] ; then - echo_success "[$end] test_$i.$j.$k passed" - echo "[$end] test_$i.$j.$k passed" >> ./results/$LOG_FILE - STATUS="PASSED" - else - let e++; - echo_error "[$end] test_$i.$j.$k failed :: OAISIM return exit code $oai_status" - echo "[$end]test_$i.$j.$k failed :: OAISIM return exit code $oai_status" >> ./results/$LOG_FILE - STATUS="FAILED" - fi - - if [ $group -gt 0 ]; then - - let ue_cba_access=$(cat ./results/$LOG_FILE | grep -c "CBA transmission oppurtunity" ) - let enb_cba_access=$(cat ./results/$LOG_FILE | grep -c "schedule CBA access" ) - let missed=$(cat ./results/$LOG_FILE | grep -c "wait for backoff to expire" ) - let unused=enb_cba_access-ue_cba_access; - let collision=$(cat ./results/$LOG_FILE | grep -c "first CBA collision detected" ) - - #frame, subframe, ue, group - #collision_stats=$(cat ./results/$LOG_FILE | grep "collision" | cut -d " " -f3,5,12,15 ) - if [ $EXTRA_STATS = 1 ]; then - STATS2="cba_template_${template}_stats2.txt" - touch results/${STATS2} - while read -r line - do - SFN=$(cut -f1 -d " " <<< $line) - SSFN=$(cut -f2 -d " " <<< $line) - UEID=$(cut -f3 -d " " <<< $line) - GPID=$(cut -f4 -d " " <<< $line) - #echo_success "$SFN;$SSFN;$UEID;$GPID;" - echo "$SFN;$SSFN;$UEID;$GPID;" >> ./results/$STATS2 - done < <(cat ./results/$LOG_FILE | grep "CBA collision set SR for UE" | cut -d " " -f3,5,13,16 ) - fi - - echo_success "CBA stats:: template $template;group $group; backoff $backoff; enb cba allocation $enb_cba_access; ue cba access $ue_cba_access; collision $collision; missed $missed; unused $unused;" - echo "$template;$group;$backoff;$enb_cba_access;$ue_cba_access;$collision;$missed;$unused;" >> ./results/$STATS1 - fi - - # create the curves - for metric in ${METRICS[@]}; do - if [ $metric = "goodput" ]; then - unit="(kB/s)" - else - unit="(ms)" - fi - if [ -f /tmp/otg_${metric}.dat ]; then - export TITLE="Application $metric $unit" - cp /tmp/otg_${metric}.dat ./results/otg-${metric}-template${template}-group${group}-backoff${backoff}.dat - echo_info "$OTGPLOT ./results/otg-${metric}-template${template}-group${group}-backoff${backoff}.dat $COLUMN" - echo "$OTGPLOT ./results/otg-${metric}-template${template}-group${group}-backoff${backoff}.dat $COLUMN" >> results/${oai_exp_date} - $($OTGPLOT ./results/otg-${metric}-template${template}-group${group}-backoff${backoff}.dat $COLUMN 1>&2 >> ./results/$LOG_FILE ) - $($PS2PDF -dOptimize=true -dEmbedAllFonts=true ./otg-${metric}-template${template}-group${group}-backoff${backoff}.eps ) - # remove the first line of the file - echo "$(tail -n+2 ./results/otg-${metric}-template${template}-group${group}-backoff${backoff}.dat)" > ./results/otg-${metric}-template${template}-group${group}-backoff${backoff}.dat - else - echo_error "file /tmp/otg_${metric}.dat does not exists" - fi - done - if [ $KEEP_LOG_FILESNUM_PKTS = 0 ]; then - rm -f ./results/$LOG_FILE - fi - mv *.eps ./results/ - mv *.pdf ./results/ - mv /tmp/otg.log ./results/otg-template${template}-group${group}-backoff${backoff}.log - echo_info "End test_$i.$j.$k:: runtime: $diff :: status $STATUS" - echo "End test_$i.$j.$k:: runtime: $diff :: status $STATUS" >> results/${oai_exp_date} - - # backoff not required when CBA is not used - if [ $group -eq 0 ]; then - break; - fi - - done - done -done - -end_exp=$(date +%s) -diff_exp=$(( $end_exp - $start_exp )) - -let total_tests=i*j*k; -echo_info "total tests: $total_tests for a duration $diff_exp (s) error ($e)" -echo "total tests: $total_tests for a duration $diff_exp (s) error ($e)" >> results/${oai_exp_date} - -} - - -function main() -{ - - ############## script params ##################### - - until [ -z "$1" ] - do - case "$1" in - -c | --test) - TEST_MODE=1; - echo_info "enabling the test mode" - shift; - ;; - -l | --perf-app) - PERF_APP=$2 - echo_info "Setting the performance evaluation APP to $PERF_APP" - if [ $PERF_APP = "DITG" ]; then - echo_info "you need to run " - fi - shift 2; - ;; - -m | --owd) - OWD="owdm" - echo_info "setting D-ITG one-way-delay meter" - shift; - ;; - -e | --duration) - DURATION=$2 - echo_info "Setting the traffic duration to $DURATION" - shift 2; - ;; - -n | --num-pkts) - NUM_PKTS=$2 - echo_info "Setting number of packets to $NUM_PKTS" - shift 2; - ;; - -k | --keep-log-file) - KEEP_LOG_FILESNUM_PKTS=1 - echo_info "Keep the log files" - shift; - ;; - -i | --idt-dist) - IDT_DIST=$2 - echo_info "setting IDT distribution to $IDT_DIST" - shift 2; - ;; - -s | --ps-dist) - PS_DIST=$2 - echo_info "setting PS distribution to $PS_DIST" - shift 2; - ;; - -d | --dst) - DST=$2 - echo_info "setting the destination address to $DST" - shift 2; - ;; - -p | --dst-port) - DPORT=$2 - echo_info "setting the destination port to $DPORT" - shift 2; - ;; - -c | --enb-config) - ENB_CONFIG=$2 - echo_info "setting the enb config file to $ENB_CONFIG" - shift 2; - ;; - -x | --oaisim-exec) - OAISIM_EXEC=$2 - echo_info "setting the oaisim exec to $OAISIM_EXEC" - shift 2; - ;; - -b | --bypass-itti) - BYPASSE_ITTI=1 - shift;; - -h | --help) - print_help_perf - exit -1 - ;; - *) - echo "Unknown option $1" - break ; - # unknown option - ;; - esac - done - - ##################### - # create a bin dir - ##################### - echo_info "1. Creating the results dir ..." - #rm -rf results - mkdir -m 777 -p results - - exp_date=`date +%Y_%m_%d` - exp_time=`date +%H_%M_%S` - oai_exp_date="exp_date_${exp_date}" - touch results/${oai_exp_date} - - touch results/perf_log.txt - chmod -f 777 results/perf_log.txt - - echo "start experiment at date $exp_date time $exp_time " >> results/${oai_exp_date} - - ############################################ - # setting and printing OAI envs, we should check here - ############################################ - - echo_info "2. Setting the OAI PATHS ..." - - set_openair_env - cecho "OPENAIR_HOME = $OPENAIR_HOME" $green - cecho "OPENAIR1_DIR = $OPENAIR1_DIR" $green - cecho "OPENAIR2_DIR = $OPENAIR2_DIR" $green - cecho "OPENAIR3_DIR = $OPENAIR3_DIR" $green - cecho "OPENAIR3_DIR = $OPENAIR3_DIR" $green - cecho "OPENAIR_TARGETS = $OPENAIR_TARGETS" $green - - - echo "OPENAIR_HOME = $OPENAIR_HOME" >> results/${oai_exp_date} - echo "OPENAIR1_DIR = $OPENAIR1_DIR" >> results/${oai_exp_date} - echo "OPENAIR2_DIR = $OPENAIR2_DIR" >> results/${oai_exp_date} - echo "OPENAIR3_DIR = $OPENAIR3_DIR" >> results/${oai_exp_date} - echo "OPENAIR3_DIR = $OPENAIR3_DIR" >> results/${oai_exp_date} - echo "OPENAIR_TARGETS = $OPENAIR_TARGETS" >> results/${oai_exp_date} - - - echo_info "eNB_CONFIG : " $ENB_CONFIG - echo_info "OAISIM_EXEC PATH: " $OAISIM_EXEC - echo_info "OTGPLOT PATH:" $OTGPLOT - - case "$PERF_APP" in - 'ITGS') - echo_info "3. running ITGSend (ensure that either oaisim or lte-softmodem is running)" - itg_send - ;; - 'ITGD') - echo_info "running ITGDECODE (At the end of the experiment, ensure that the results are in the current directory)" - itg_decode - ;; - 'PING') - echo_info "3. running ping (ensure that either oaisim or lte-softmodem is running)" - ping_stats - ;; - 'OTG-OAISIM') - echo_info "3. running OTG on oaisim (this will call oaisim as well)" - oaisim_otg_stats - ;; - 'OTG-CBA') - echo_info "3. running OTG on oaisim with cba" - cba_otg_stats - ;; - 'IPERF') - echo_warning "iperf not supported" - ;; - 'NONE') - ;; - *) - echo_error "Unknown option $RUN_ITG" - ;; - esac - -} - -main "$@" - diff --git a/cmake_targets/tools/run_enb_s1_exmimo b/cmake_targets/tools/run_enb_s1_exmimo deleted file mode 100755 index 1bb6ce44254e4bacfb7eae3440bf63cd5e299475..0000000000000000000000000000000000000000 --- a/cmake_targets/tools/run_enb_s1_exmimo +++ /dev/null @@ -1,190 +0,0 @@ -#!/bin/bash -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# file run_enb_s1_exmimo -# brief run script for eNB EXMIMO. -# author Lionel GAUTHIER -# company Eurecom -# email: lionel.gauthier@eurecom.fr - - -################################ -# include helper functions -################################ -THIS_SCRIPT_PATH=$(dirname $(readlink -f $0)) -source $THIS_SCRIPT_PATH/build_helper - - -function help() -{ - echo_error " " - echo_error "Usage: run_enb_s1_exmimo -c config_file [OPTION]..." - echo_error "Run the eNB executable, hardware target is EXMIMO." - echo_error " " - echo_error "Mandatory arguments:" - echo_error " -c, -C, --config-file eNB_config_file eNB config file, (see $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF)" - echo_error " " - echo_error "Options:" - echo_error "Mandatory arguments to long options are mandatory for short options too." - echo_error " -g, --gdb Run with GDB." - echo_error " -h, --help Print this help." - echo_error " -K, --itti-dump-file filename ITTI dump file containing all ITTI events occuring during EPC runtime.(can omit file name if last argument)" - echo_error " -M, --target-dl-mcs mcs Downlink target MCS." - echo_error " -V, --vcd Dump timings of processing in a GTKWave compliant file format." - echo_error " -S, --enable-missed-slot Continue execution in case of missed slot." - echo_error " -T, --target-ul-mcs mcs Uplink target MCS." - echo_error " -W, --wireshark-l2 Dump MAC frames for visualization with wireshark." - echo_error " You need to open Wireshark, open the preferences, and check try heuristics for the UDP protocol, MAC-LTE, RLC-LTE," - echo_error " and PDCP-LTE. Then capture for all the interfaces with the following filters: s1ap or lte_rrc or mac-lte or rlc-lte" - echo_error " or pdcp-lte. Note the L2 pdus are transmitted to the local interface." - echo_error " -x, --xforms Run XFORMS scope windows." -} - - - -function main() -{ - local -i run_gdb=0 - local exe_arguments="" - - until [ -z "$1" ] - do - case "$1" in - -c | -C | --config-file) - CONFIG_FILE=$2 - # may be relative path - if [ -f $(dirname $(readlink -f $0))/$CONFIG_FILE ]; then - CONFIG_FILE=$(dirname $(readlink -f $0))/$CONFIG_FILE - echo "setting config file to: $CONFIG_FILE" - CONFIG_FILE_ACCESS_OK=1 - else - # may be absolute path - if [ -f $CONFIG_FILE ]; then - echo "setting config file to: $CONFIG_FILE" - else - echo_fatal "config file $CONFIG_FILE not found" - fi - fi - exe_arguments="$exe_arguments -O $CONFIG_FILE -F $THIS_SCRIPT_PATH/exmimo2_2arxg.lime" - shift 2; - ;; - -g | --gdb) - run_gdb=1 - echo "setting GDB flag to: $GDB" - shift; - ;; - -h | --help) - help - shift; - exit 0 - ;; - -K | --itti-dump-file) - ITTI_DUMP_FILE=$2 - # can omit file name if last arg on the line - if [ "x$ITTI_DUMP_FILE" = "x" ]; then - ITTI_DUMP_FILE="/tmp/enb_s1_exmimo_itti.log" - shift 1; - else - shift 2; - fi - echo "setting ITTI dump file to: $ITTI_DUMP_FILE" - exe_arguments="$exe_arguments -K $ITTI_DUMP_FILE" - ;; - -M | --target-dl-mcs) - echo "setting target dl MCS to $2" - exe_arguments="$exe_arguments -m $2" - shift 2; - ;; - -V | --vcd) - "setting gtk-wave output" - exe_arguments="$exe_arguments -V /tmp/oai_gtk_wave.vcd" - shift ; - ;; - -S | --enable-missed-slot) - echo "setting continue even if missed slot" - exe_arguments="$exe_arguments -S" - shift ; - ;; - -T | --target-ul-mcs) - echo "setting target ul MCS to $2" - exe_arguments="$exe_arguments -t $2" - shift 2; - ;; - -W | ----wireshark-l2) - echo "setting l2 pcap dump output" - exe_arguments="$exe_arguments -W" - shift ; - ;; - -x | --xforms) - exe_arguments="$exe_arguments -d" - echo "setting xforms to: $XFORMS" - shift; - ;; - *) - echo "Unknown option $1" - help - exit 0 - ;; - esac - done - - - set_openair_env - cecho "OPENAIR_DIR = $OPENAIR_DIR" $green - - - if [ ! -e $OPENAIR_DIR/targets/bin/lte-softmodem ]; then - echo_fatal "Cannot find $OPENAIR_DIR/targets/bin/lte-softmodem executable" - fi - if [ ! -e $OPENAIR_DIR/targets/bin/updatefw ]; then - echo_fatal "Cannot find $OPENAIR_DIR/targets/bin/updatefw executable" - fi - if [ ! -e $OPENAIR_DIR/targets/bin/openair_rf.ko ]; then - echo_fatal "Cannot find $OPENAIR_DIR/targets/bin/openair_rf.ko kernel module" - fi - - for i in `seq 0 64`; do - have_rtfX=`ls /dev/ |grep -c rtf$i`; - if [ "$have_rtfX" -eq 0 ] ; then - $SUDO mknod -m 666 /dev/rtf$i c 150 $i; - fi; - done - - $THIS_SCRIPT_PATH/init_exmimo2 - - if [ $run_gdb -eq 0 ]; then - exec $OPENAIR_DIR/targets/bin/lte-softmodem `echo $exe_arguments` 2>&1 > /tmp/lte_softmodem.stdout.txt - else - touch ~/.gdb_lte_softmodem - chmod 777 ~/.gdb_lte_softmodem - echo "file $OPENAIR_DIR/targets/bin/lte-softmodem" > ~/.gdb_lte_softmodem - echo "set args $exe_arguments" >> ~/.gdb_lte_softmodem - echo "run" >> ~/.gdb_lte_softmodem - cat ~/.gdb_lte_softmodem - gdb -n -x ~/.gdb_lte_softmodem 2>&1 > /tmp/gdb_lte_softmodem.stdout.txt - fi -} - - - -main "$@" - diff --git a/cmake_targets/tools/run_enb_s1_usrp b/cmake_targets/tools/run_enb_s1_usrp deleted file mode 100755 index db22e31493dd20eb338b3f968e25514d0bb1681c..0000000000000000000000000000000000000000 --- a/cmake_targets/tools/run_enb_s1_usrp +++ /dev/null @@ -1,225 +0,0 @@ -#!/bin/bash -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# file run_enb_s1_usrp -# brief run script for eNB USRP. -# author Lionel GAUTHIER and Navid Nikaein -# company Eurecom -# email: lionel.gauthier@eurecom.fr and navid.nikaein@eurecom.fr - - -################################ -# include helper functions -################################ -THIS_SCRIPT_PATH=$(dirname $(readlink -f $0)) -source $THIS_SCRIPT_PATH/build_helper - - -function help() -{ - echo_error " " - echo_error "Usage: run_enb_s1_usrp -c config_file [OPTION]..." - echo_error "Run the eNB executable, hardware target is USRP." - echo_error " " - echo_error "Mandatory arguments:" - echo_error " -c, -C, --config-file eNB_config_file eNB config file, (see $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF)" - echo_error " " - echo_error "Options:" - echo_error "Mandatory arguments to long options are mandatory for short options too." - echo_error " -g, --gdb Run with GDB." - echo_error " -h, --help Print this help." - echo_error " -e, --ulsch-max-errors num-errs maximum allowed number of uplink errors" - echo_error " -f, --rf-config-file filename RF specific configuration file" - echo_error " -K, --itti-dump-file filename ITTI dump file containing all ITTI events occuring during EPC runtime.(can omit file name if last argument)" - echo_error " -M, --target-dl-mcs mcs Downlink target MCS." - echo_error " -n, --T-no-wait don't wait for tracer, start immediately" - echo_error " -p, --T-port port use given port" - echo_error " -s, --show-stdout Do not redirect stdout and stderr to file /tmp/lte_softmodem.stdout.txt." - echo_error " -S, --enable-missed-slot Continue execution in case of missed slot." - echo_error " -T, --target-ul-mcs mcs Uplink target MCS." - echo_error " -V, --vcd Dump timings of processing in a GTKWave compliant file format." - echo_error " -W, --wireshark-l2 Dump MAC frames for visualization with wireshark." - echo_error " You need to open Wireshark, open the preferences, and check try heuristics for the UDP protocol, MAC-LTE, RLC-LTE," - echo_error " and PDCP-LTE. Then capture for all the interfaces with the following filters: s1ap or lte_rrc or mac-lte or rlc-lte" - echo_error " or pdcp-lte. Note the L2 pdus are transmitted to the local interface." - echo_error " -x, --xforms Run XFORMS scope windows." -} - - -function control_c() -# run if user hits control-c -{ - echo_warning "\nExiting by ctrl+c\n" - exit $? -} - - -function main() -{ - local -i run_gdb=0 - local -i show_stdout=0 - local exe_arguments="" - - until [ -z "$1" ] - do - case "$1" in - -c | -C | --config-file) - CONFIG_FILE=$2 - # may be relative path - if [ -f $(dirname $(readlink -f $0))/$CONFIG_FILE ]; then - CONFIG_FILE=$(dirname $(readlink -f $0))/$CONFIG_FILE - echo "setting config file to: $CONFIG_FILE" - CONFIG_FILE_ACCESS_OK=1 - else - # may be absolute path - if [ -f $CONFIG_FILE ]; then - echo "setting config file to: $CONFIG_FILE" - else - echo_fatal "config file $CONFIG_FILE not found" - fi - fi - exe_arguments="$exe_arguments -O $CONFIG_FILE" - shift 2; - ;; - -g | --gdb) - run_gdb=1 - echo "setting GDB flag to: $run_gdb" - shift; - ;; - -h | --help) - help - shift; - exit 0 - ;; - -e | --ulsch-max-errors) - ulsch_max_errors=$2 - echo "setting --ulsch-max-errors to $ulsch_max_errors" - exe_arguments="$exe_arguments --ulsch-max-errors=$ulsch_max_errors" - shift 2; - ;; - -f | --rf-config-file) - rf_config_file=$2 - # can omit file name if last arg on the line - if [ "x$rf_config_file" = "x" ]; then - rf_config_file=null - shift 1; - else - shift 2; - fi - if [ "$rf_config_file" != "null" ]; then - echo "setting --rf-config-file to $rf_config_file" - exe_arguments="$exe_arguments --rf-config-file=$rf_config_file" - fi - ;; - -M | --target-dl-mcs) - echo "setting target dl MCS to $2" - exe_arguments="$exe_arguments -m $2" - shift 2; - ;; - -n | --T-no-wait) - echo "setting T tracer operation" - exe_arguments="$exe_arguments --T_nowait" - shift ; - ;; - -p | --T-port) - echo "setting T tracer port" - exe_arguments="$exe_arguments --T_port $2" - shift 2; - ;; - -V | --vcd) - echo "setting gtk-wave output" - exe_arguments="$exe_arguments -V /tmp/oai_gtk_wave.vcd" - shift ; - ;; - -s | --show-stdout) - echo "setting show stdout" - show_stdout=1 - shift ; - ;; - -S | --enable-missed-slot) - echo "setting continue even if missed slot" - exe_arguments="$exe_arguments -S" - shift ; - ;; - -T | --target-ul-mcs) - echo "setting target ul MCS to $2" - exe_arguments="$exe_arguments -t $2" - shift 2; - ;; - -W | --wireshark-l2) - echo "setting l2 pcap dump output" - exe_arguments="$exe_arguments -W" - shift ; - ;; - -x | --xforms) - exe_arguments="$exe_arguments -d" - echo "setting xforms" - shift; - ;; - *) - echo "Unknown option $1" - help - exit 0 - ;; - esac - done - - - set_openair_env - cecho "OPENAIR_DIR = $OPENAIR_DIR" $green - - - if [ ! -e $OPENAIR_DIR/targets/bin/lte-softmodem.Rel10 ]; then - echo_fatal "Cannot find $OPENAIR_DIR/targets/bin/lte-softmodem.Rel10 executable" - fi - - - if [ $run_gdb -eq 0 ]; then - # trap keyboard interrupt (control-c) - trap control_c SIGINT - if [ $show_stdout -eq 0 ]; then - echo_warning "stdout/sderr of lte-softmodem executable redirected to /tmp/lte_softmodem.stdout.txt" - exec $OPENAIR_DIR/targets/bin/lte-softmodem.Rel10 `echo $exe_arguments` 2>&1 > /tmp/lte_softmodem.stdout.txt - else - exec $OPENAIR_DIR/targets/bin/lte-softmodem.Rel10 `echo $exe_arguments` - fi - else - # trap keyboard interrupt (control-c) is done by gdb - touch ~/.gdb_lte_softmodem - chmod 777 ~/.gdb_lte_softmodem - echo "file $OPENAIR_DIR/targets/bin/lte-softmodem.Rel10" > ~/.gdb_lte_softmodem - echo "set args $exe_arguments" >> ~/.gdb_lte_softmodem - echo "run" >> ~/.gdb_lte_softmodem - cat ~/.gdb_lte_softmodem - if [ $show_stdout -eq 0 ]; then - echo_warning "stdout/sderr of lte-softmodem executable redirected to /tmp/gdb_lte_softmodem.stdout.txt" - gdb -n -x ~/.gdb_lte_softmodem 2>&1 > /tmp/gdb_lte_softmodem.stdout.txt - else - gdb -n -x ~/.gdb_lte_softmodem - fi - fi -} - - - -main "$@" - diff --git a/cmake_targets/tools/run_enb_ue_virt_noS1 b/cmake_targets/tools/run_enb_ue_virt_noS1 deleted file mode 100755 index 5f8e7e5374ca047f333688f4b9de6995b13fdeec..0000000000000000000000000000000000000000 --- a/cmake_targets/tools/run_enb_ue_virt_noS1 +++ /dev/null @@ -1,214 +0,0 @@ -#!/bin/bash -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# file start_enb_ue_virt_noS1 -# brief -# author Lionel Gauthier -# company Eurecom -# email: lionel.gauthier@eurecom.fr -########################################### -# INPUT OF THIS SCRIPT: -# THE DIRECTORY WHERE ARE LOCATED THE CONFIGURATION FILES -######################################### -# This script start ENB+UE (all in one executable, on one host) -# eNB is in standalone mode, it does not require a MME. - - - -########################################################### -THIS_SCRIPT_PATH=$(dirname $(readlink -f $0)) -. $THIS_SCRIPT_PATH/build_helper -########################################################### - - - - -function help() -{ - echo_error " " - echo_error "Usage: start_enb_ue_virt_noS1 [OPTION]..." - echo_error "Run the eNB and/or UE executable with no hardware." - echo_error " " - echo_error "Options:" - echo_error "Mandatory arguments to long options are mandatory for short options too." - echo_error " -a, --abstraction enable phy abstraction mode" - echo_error " -c, -C, --config-file eNB_config_file eNB config file, (see $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF)" - echo_error " Default eNB config file if not set is $1" - echo_error " -g, --gdb Run with GDB." - echo_error " -l, --log-level set the global log level (8:trace, 7:debug, 6:info, 4:warn, 3:error). Note that the log configuration is eNB config file is ignored for oaisim." - echo_error " -h, --help Print this help." - echo_error " -K, --itti-dump-file filename ITTI dump file containing all ITTI events occuring during EPC runtime.(can omit file name if last argument)" - echo_error " -V, --vcd Dump timings of processing in a GTKWave compliant file format." - echo_error " -W, --wireshark-l2 Dump MAC frames for visualization with wireshark." - echo_error " You need to open Wireshark, open the preferences, and check try heuristics for the UDP protocol, MAC-LTE, RLC-LTE," - echo_error " and PDCP-LTE. Then capture for all the interfaces with the following filters: s1ap or lte_rrc or mac-lte or rlc-lte" - echo_error " or pdcp-lte. Note the L2 pdus are transmitted to the local interface." - echo_error " -x, --xforms Run XFORMS scope windows." - echo_error " -n, --num-frames Set number of frames for simulation" -} - - - -function main() -{ - set_openair_env - cecho "OPENAIR_DIR = $OPENAIR_DIR" $green - - local -i run_gdb=0 - local exe_arguments="" - local DEFAULT_CONFIG_FILE_ENB=$OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_no_mme.conf - local CONFIG_FILE_ENB=$DEFAULT_CONFIG_FILE_ENB - local abstraction_flag=0 - - until [ -z "$1" ] - do - case "$1" in - -a | --abstraction ) - abstraction_flag=1 - echo "enabling abstraction mode" - exe_arguments="$exe_arguments -a" - shift; - ;; - -c | -C | --config-file) - CONFIG_FILE_ENB=$2 - # may be relative path - if [ -f $(dirname $(readlink -f $0))/$CONFIG_FILE ]; then - CONFIG_FILE_ENB=$(dirname $(readlink -f $0))/$CONFIG_FILE - echo "setting config file to: $CONFIG_FILE" - config_FILE_ACCESS_OK=1 - else - # may be absolute path - if [ -f $CONFIG_FILE_ENB ]; then - echo "setting config file to: $CONFIG_FILE_ENB" - else - echo_fatal "config file $CONFIG_FILE_ENB not found" - fi - fi - shift 2; - ;; - -g | --gdb) - run_gdb=1 - echo "setting GDB flag to: $GDB" - shift; - ;; - -l | --log-level) - echo "setting the log level to $2" - exe_arguments="$exe_arguments -l $2" - shift 2; - ;; - -h | --help) - help $DEFAULT_CONFIG_FILE_ENB - shift; - exit 0 - ;; - -K | --itti-dump-file) - ITTI_DUMP_FILE=$2 - # can omit file name if last arg on the line - if [ "x$ITTI_DUMP_FILE" = "x" ]; then - ITTI_DUMP_FILE="/tmp/itti_enb_ue_s1.log" - shift 1; - else - shift 2; - fi - echo "setting ITTI dump file to: $ITTI_DUMP_FILE" - exe_arguments="$exe_arguments -K $ITTI_DUMP_FILE" - ;; - -# -u | --num-ue ) - - -V | --vcd) - echo "setting gtk-wave output" - exe_arguments="$exe_arguments -V /tmp/oai_gtk_wave.vcd" - shift ; - ;; - -W | --wireshark-l2) - echo "setting l2 pcap dump output" - exe_arguments="$exe_arguments -P wireshark" - shift 1; - ;; - -n | --num-frames) - echo "setting the number of frames in simulation to $2" - exe_arguments="$exe_arguments -n $2" - shift 2; - ;; - -x | --xforms) - echo "running with xforms" - exe_arguments="$exe_arguments --xforms" - shift 1; - ;; - *) - echo "Unknown option $1" - help - exit 0 - ;; - esac - done - - # may use default config file - exe_arguments="$exe_arguments --enb-conf $CONFIG_FILE_ENB" - - - ################################################## - # LAUNCH eNB + UE executable - ################################################## - $SUDO pkill oaisim - $SUDO rmmod nasmesh > /dev/null 2>&1 - - echo_success "Bringup UE interface..." - $SUDO insmod $OPENAIR_DIR/targets/bin/nasmesh.ko - sync - - echo "bring up oai0 interface for enb" - $SUDO ifconfig oai0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255 - sync - echo "bring up oai1 interface for ue 1" - $SUDO ifconfig oai1 10.0.2.2 netmask 255.255.255.0 broadcast 10.0.2.255 - sync - - # enb -> ue1 - $OPENAIR_DIR/targets/bin/rb_tool -a -c0 -i0 -z0 -s 10.0.1.1 -t 10.0.1.2 -r 1 - # ue1 -> enb - $OPENAIR_DIR/targets/bin/rb_tool -a -c0 -i1 -z0 -s 10.0.2.2 -t 10.0.2.1 -r 1 - - if [ "$abstraction_flag" -eq "0" ] ; then - exe_arguments="$exe_arguments -s15 -AAWGN -b1 -u1" - else - exe_arguments="$exe_arguments -b1 -u1" - fi - - cd $OPENAIR_DIR/targets/bin - - - if [ $run_gdb -eq 0 ]; then - exec $SUDO $OPENAIR_DIR/targets/bin/oaisim_nos1.Rel14 $exe_arguments | tee /tmp/enb_ue_nos1.log.txt - else - touch ~/.gdb_enb_ue_nos1 - chmod 777 ~/.gdb_enb_ue_nos1 - echo "file $OPENAIR_DIR/targets/bin/oaisim_nos1.Rel14" > ~/.gdb_enb_ue_nos1 - echo "set args $exe_arguments" >> ~/.gdb_enb_ue_nos1 - echo "run" >> ~/.gdb_enb_ue_nos1 - cat ~/.gdb_enb_ue_nos1 - $SUDO gdb -n -x ~/.gdb_enb_ue_nos1 - fi -} - -main "$@" diff --git a/cmake_targets/tools/run_enb_ue_virt_s1 b/cmake_targets/tools/run_enb_ue_virt_s1 deleted file mode 100755 index 76bc3c2b39f6d2760cbb816101d7dd05456248f8..0000000000000000000000000000000000000000 --- a/cmake_targets/tools/run_enb_ue_virt_s1 +++ /dev/null @@ -1,266 +0,0 @@ -#!/bin/bash -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# file start_enb_ue_virt_s1 -# brief -# author Lionel Gauthier -# company Eurecom -# email: lionel.gauthier@eurecom.fr -########################################### -# INPUT OF THIS SCRIPT: -# THE DIRECTORY WHERE ARE LOCATED THE CONFIGURATION FILES -######################################### -# This script start ENB+UE (all in one executable, on one host) -# MME+SP-GW executable have to be launched by your own (run_hss, run_epc) before this script is invoked. -# - - - -########################################################### -THIS_SCRIPT_PATH=$(dirname $(readlink -f $0)) -. $THIS_SCRIPT_PATH/build_helper -########################################################### - -function trim2() -{ - local var=$@ - var="${var#"${var%%[![:space:]]*}"}" # remove leading whitespace characters - var="${var%"${var##*[![:space:]]}"}" # remove trailing whitespace characters - echo -n "$var" -} - -function is_tun_interface() -{ - my_bool=1 - for var in "$@" - do - if [ "a$var" == "a" ]; then - echo "0"; - return; - fi - if [[ "$var" != *tun* ]]; then - echo "0"; - return; - fi - done - echo "$my_bool" -} - - -function help() -{ - echo_error " " - echo_error "Usage: start_enb_ue_virt_s1 [OPTION]..." - echo_error "Run the eNB and/or UE executable with no hardware." - echo_error " " - echo_error "Options:" - echo_error "Mandatory arguments to long options are mandatory for short options too." - echo_error " -a, --abstraction enable phy abstraction mode" - echo_error " -c, -C, --config-file eNB_config_file eNB config file, (see $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF)" - echo_error " Default eNB config file if not set is $1" - echo_error " -l, --log-level set the global log level (8:trace, 7:debug, 6:info, 4:warn, 3:error). Note that the log configuration is eNB config file is ignored for oaisim." - echo_error " -g, --gdb Run with GDB." - echo_error " -h, --help Print this help." - echo_error " -K, --itti-dump-file filename ITTI dump file containing all ITTI events occuring during EPC runtime.(can omit file name if last argument)" - echo_error " -V, --vcd Dump timings of processing in a GTKWave compliant file format." - echo_error " -W, --wireshark-l2 Dump MAC frames for visualization with wireshark." - echo_error " You need to open Wireshark, open the preferences, and check try heuristics for the UDP protocol, MAC-LTE, RLC-LTE," - echo_error " and PDCP-LTE. Then capture for all the interfaces with the following filters: s1ap or lte_rrc or mac-lte or rlc-lte" - echo_error " or pdcp-lte. Note the L2 pdus are transmitted to the local interface." - echo_error " -x, --xforms Run XFORMS scope windows." - echo_error " " - echo_error " A simple data traffic test example: ping -m 1 -I oip1 192.168.12.100" -} - - - -function main() -{ - set_openair_env - cecho "OPENAIR_DIR = $OPENAIR_DIR" $green - - local -i run_gdb=0 - local exe_arguments="" - local DEFAULT_CONFIG_FILE_ENB=$OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf - local CONFIG_FILE_ENB=$DEFAULT_CONFIG_FILE_ENB - - until [ -z "$1" ] - do - case "$1" in - -a | --abstraction ) - abstraction_flag=1 - echo "enabling abstraction mode" - exe_arguments="$exe_arguments -a" - shift; - ;; - -c | -C | --config-file) - CONFIG_FILE_ENB=$2 - # may be relative path - if [ -f $(dirname $(readlink -f $0))/$CONFIG_FILE ]; then - CONFIG_FILE_ENB=$(dirname $(readlink -f $0))/$CONFIG_FILE - echo "setting config file to: $CONFIG_FILE" - CONFIG_FILE_ACCESS_OK=1 - else - # may be absolute path - if [ -f $CONFIG_FILE_ENB ]; then - echo "setting config file to: $CONFIG_FILE_ENB" - else - echo_fatal "config file $CONFIG_FILE_ENB not found" - fi - fi - shift 2; - ;; - -l | --log-level) - echo "setting the log level to $2" - exe_arguments="$exe_arguments -l $2" - shift 2; - ;; - -g | --gdb) - run_gdb=1 - echo "setting GDB flag to: $GDB" - shift; - ;; - -h | --help) - help $DEFAULT_CONFIG_FILE_ENB - shift; - exit 0 - ;; - -K | --itti-dump-file) - ITTI_DUMP_FILE=$2 - # can omit file name if last arg on the line - if [ "x$ITTI_DUMP_FILE" = "x" ]; then - ITTI_DUMP_FILE="/tmp/itti_enb_ue_s1.log" - shift 1; - else - shift 2; - fi - echo "setting ITTI dump file to: $ITTI_DUMP_FILE" - exe_arguments="$exe_arguments -K $ITTI_DUMP_FILE" - ;; - - -V | --vcd) - echo "setting gtk-wave output" - exe_arguments="$exe_arguments -V /tmp/oai_gtk_wave.vcd" - shift ; - ;; - -W | ----wireshark-l2) - echo "setting l2 pcap dump output" - exe_arguments="$exe_arguments -P wireshark" - shift 2; - ;; - -x | --xforms) - echo "running with xforms" - exe_arguments="$exe_arguments --xforms" - shift 1; - ;; - *) - echo "Unknown option $1" - help - exit 0 - ;; - esac - done - - # may use default config file - exe_arguments="$exe_arguments --enb-conf $CONFIG_FILE_ENB" - - - - ####################################################### - # SOURCE CONFIG FILE - ####################################################### - rm -f /tmp/source.txt - VARIABLES=" - ENB_INTERFACE_NAME_FOR_S1_MME\|\ - ENB_IPV4_ADDRESS_FOR_S1_MME\|\ - ENB_INTERFACE_NAME_FOR_S1U\|\ - ENB_IPV4_ADDRESS_FOR_S1U" - - VARIABLES=$(echo $VARIABLES | sed -e 's/\\r//g') - VARIABLES=$(echo $VARIABLES | tr -d ' ') - cat $CONFIG_FILE_ENB | grep -w "$VARIABLES"| tr -d " " | tr -d ";" > /tmp/source.txt - source /tmp/source.txt - - declare ENB_IPV4_NETMASK_FOR_S1_MME=$( echo $ENB_IPV4_ADDRESS_FOR_S1_MME | cut -f2 -d '/') - declare ENB_IPV4_NETMASK_FOR_S1U=$( echo $ENB_IPV4_ADDRESS_FOR_S1U | cut -f2 -d '/') - - ENB_IPV4_ADDRESS_FOR_S1_MME=$( echo $ENB_IPV4_ADDRESS_FOR_S1_MME | cut -f1 -d '/') - ENB_IPV4_ADDRESS_FOR_S1U=$( echo $ENB_IPV4_ADDRESS_FOR_S1U | cut -f1 -d '/') - - - is_tun=`is_tun_interface $ENB_INTERFACE_NAME_FOR_S1_MME $ENB_INTERFACE_NAME_FOR_S1U` -# if [ $is_tun = "1" ]; then -# openvpn --mktun --dev $ENB_INTERFACE_NAME_FOR_S1U;sync -# openvpn --mktun --dev $ENB_INTERFACE_NAME_FOR_S1_MME;sync -# ip -4 addr add $ENB_IPV4_ADDRESS_FOR_S1U/$ENB_IPV4_NETMASK_FOR_S1U dev $ENB_INTERFACE_NAME_FOR_S1U;sync -# ip -4 addr add $ENB_IPV4_ADDRESS_FOR_S1_MME/$ENB_IPV4_NETMASK_FOR_S1_MME dev $ENB_INTERFACE_NAME_FOR_S1_MME;sync -# ifconfig $ENB_INTERFACE_NAME_FOR_S1U up;sync -# ifconfig $ENB_INTERFACE_NAME_FOR_S1_MME up;sync -# echo_success "Configured local eNB S1 tun interfaces" -# else -# echo_success "eNB S1 tun interfaces should be ethernet interfaces (no tunnels configured)" -# fi - - ################################################## - # LAUNCH eNB + UE executable - ################################################## - pkill oaisim - rmmod ue_ip > /dev/null 2>&1 - - echo_success "Bringup UE interface..." - insmod $OPENAIR_DIR/targets/bin/ue_ip.ko - - ip route flush cache - - # Check table 200 lte in /etc/iproute2/rt_tables - fgrep lte /etc/iproute2/rt_tables > /dev/null - if [ $? -ne 0 ]; then - echo "200 lte " >> /etc/iproute2/rt_tables - fi - - exe_arguments="$exe_arguments -s15 -AAWGN -y1 -b1 -u1 -Q0" - - cd $OPENAIR_DIR/targets/bin - - - if [ $run_gdb -eq 0 ]; then - exec $OPENAIR_DIR/targets/bin/oaisim.Rel14 $exe_arguments | tee /tmp/enb_ue_s1.log.txt - else - touch ~/.gdb_enb_ue_s1 - chmod 777 ~/.gdb_enb_ue_s1 - echo "file $OPENAIR_DIR/targets/bin/oaisim.Rel14" > ~/.gdb_enb_ue_s1 - echo "set args $exe_arguments" >> ~/.gdb_enb_ue_s1 - echo "run" >> ~/.gdb_enb_ue_s1 - cat ~/.gdb_enb_ue_s1 - gdb -n -x ~/.gdb_enb_ue_s1 - fi -} - -sudo echo -is_sudo=$? -if [[ "$is_sudo" -ne 0 ]]; then - echo_error "This script must be run by root or a sudo'er" - echo - exit 1 -fi - -main "$@" diff --git a/cmake_targets/tools/run_ue_s1 b/cmake_targets/tools/run_ue_s1 deleted file mode 100755 index 56b18d72b926d983b1ee64da8b600682f647bb06..0000000000000000000000000000000000000000 --- a/cmake_targets/tools/run_ue_s1 +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -# Carrier frequency in Hz -#FREQ=2660000000 #FDD -FREQ=2350000000 #TDD -NRB=50 -TA=0 - -#9:trace, 8/7:debug, 6:info, 4:warn, 3:error -LOGLEVEL=6 - -#enable or disable soft scope -#SCOPE='' -SCOPE='-d' - -#enable or disable VCD logging -VCD='' -#VCD='-V' - -ISTDD='-T' -#ISTDD='' - -#use external clock -ECLK="--external-clock" -#ECLK="" - -#UE scan carrier -#ISSCAN="--ue-scan-carrier" -ISSCAN="" - -sudo sh -c './init_nas_s1 UE' -cd ../../targets/bin/ -sudo -E ./lte-softmodem.Rel10 -U -C$FREQ -r$NRB $ISSCAN --ue-txgain 70 --ue-rxgain 80 -A $TA $ECLK -W $ISTDD -g $LOGLEVEL $SCOPE 2>&1 | sudo tee /tmp/UE.log diff --git a/cmake_targets/tools/stop_exmimo2 b/cmake_targets/tools/stop_exmimo2 deleted file mode 100755 index fdfe19425ddcaac7c04b8523b0fafce98de78b6b..0000000000000000000000000000000000000000 --- a/cmake_targets/tools/stop_exmimo2 +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \author Navid Nikaein, Rohit Gupta - -echo "This script stops exmimo2 as it might be transmitting signal by itself if lte-softmodem terminates incorrectly" - -if [ "$OPENAIR_DIR" == "" ]; then - echo "Is the OPENAIR_DIR path set correctly? Exiting now" - exit -fi -sudo -E bash -c 'echo 3 > /proc/sys/vm/drop_caches' - -exmimo_mod=`lsmod |grep openair_rf` -#load the module only if absent to avoid kernel crashes -if [ -z "$exmimo_mod" ] -then - sudo -E $OPENAIR_DIR/cmake_targets/tools/init_exmimo2 -fi - -#now we stop the card from transmitting anything -cd $OPENAIR_DIR/targets/bin -sudo -E octave -H --no-gui $OPENAIR_DIR/cmake_targets/tools/exmimo_stop_octave.m - diff --git a/common/utils/telnetsrv/DOC/telnetusage.md b/common/utils/telnetsrv/DOC/telnetusage.md index c4777ce0d8ca4e42fd7e1da3d861a829cf771237..8b8179fa2b4dfe545fa85f005ecdc221b50724ed 100644 --- a/common/utils/telnetsrv/DOC/telnetusage.md +++ b/common/utils/telnetsrv/DOC/telnetusage.md @@ -8,7 +8,7 @@ By default the embedded telnet server, which is implemented in a shared library, ./build_oai --build-lib telnetsrv ``` -This will create the `libtelnetsrv.so` and `libtelnetsrv_<app> file in the `targets/bin` and `cmake_targets/ran_build/build` sub directories of the oai repository. <app> can be "enb", "gnb", "4GUE" or "5GUE", each library containing functions specific to a given executable. +This will create the `libtelnetsrv.so` and `libtelnetsrv_<app> file in the `cmake_targets/ran_build/build` subdirectory of the oai repository. <app> can be "enb", "gnb", "4GUE" or "5GUE", each library containing functions specific to a given executable. When starting the softmodem, you must specify the **_\-\-telnetsrv_** option to load and start the telnet server. The telnet server is loaded via the [oai shared library loader](loader). diff --git a/common/utils/telnetsrv/telnetsrv.c b/common/utils/telnetsrv/telnetsrv.c index aab8c843685c524778c66aeb2b96671927578620..cbabc1d1ad51234027135e1bb1bbafd5943de3e8 100644 --- a/common/utils/telnetsrv/telnetsrv.c +++ b/common/utils/telnetsrv/telnetsrv.c @@ -510,7 +510,7 @@ int process_command(char *buf) { cmddata->cmdfunc=(qcmdfunc_t)telnetparams.CmdParsers[i].cmd[k].cmdfunc; cmddata->prnt=client_printf; cmddata->debug=telnetparams.telnetdbg; - cmddata->cmdbuff=strdup(cmdb); + cmddata->cmdbuff=cmdb ? strdup(cmdb) : NULL; pushNotifiedFIFO(telnetparams.CmdParsers[i].cmd[k].qptr, msg); } else { telnetparams.CmdParsers[i].cmd[k].cmdfunc(cmdb, telnetparams.telnetdbg, client_printf); @@ -845,33 +845,42 @@ int telnetsrv_autoinit(void) { * function at init time. the telnet server is delivered with a set of commands which * will be loaded or not depending on the telnet section of the config file */ -int add_telnetcmd(char *modulename, telnetshell_vardef_t *var, telnetshell_cmddef_t *cmd) { - int i; - notifiedFIFO_t *afifo=NULL; - +int add_telnetcmd(char *modulename, telnetshell_vardef_t *var, telnetshell_cmddef_t *cmd) +{ if( modulename == NULL || var == NULL || cmd == NULL) { fprintf(stderr,"[TELNETSRV] Telnet server, add_telnetcmd: invalid parameters\n"); return -1; } + int i; for (i=0; i<TELNET_MAXCMD ; i++) { - if (telnetparams.CmdParsers[i].var == NULL) { - strncpy(telnetparams.CmdParsers[i].module,modulename,sizeof(telnetparams.CmdParsers[i].module)-1); - telnetparams.CmdParsers[i].cmd = cmd; - telnetparams.CmdParsers[i].var = var; - if (cmd->cmdflags & TELNETSRV_CMDFLAG_PUSHINTPOOLQ) { - if (afifo == NULL) { - afifo = malloc(sizeof(notifiedFIFO_t)); - initNotifiedFIFO(afifo); - } - cmd->qptr = afifo; - } + cmdparser_t *CmdParser = &telnetparams.CmdParsers[i]; + if (CmdParser->var == NULL) { + strncpy(CmdParser->module, modulename, sizeof(CmdParser->module) - 1); + CmdParser->cmd = cmd; + CmdParser->var = var; printf("[TELNETSRV] Telnet server: module %i = %s added to shell\n", - i,telnetparams.CmdParsers[i].module); + i, CmdParser->module); break; } } + if (i == TELNET_MAXCMD) { + fprintf(stderr, "[TELNETSRV] TELNET_MAXCMD reached, cannot add new module %s\n", modulename); + return -1; + } + + notifiedFIFO_t *afifo = NULL; + for (int k = 0; cmd[k].cmdfunc != NULL ; k++) { + if (cmd[k].cmdflags & TELNETSRV_CMDFLAG_PUSHINTPOOLQ) { + if (afifo == NULL) { + afifo = malloc(sizeof(notifiedFIFO_t)); + initNotifiedFIFO(afifo); + } + cmd[k].qptr = afifo; + } + } + return 0; } diff --git a/common/utils/telnetsrv/telnetsrv_5Gue_measurements.c b/common/utils/telnetsrv/telnetsrv_5Gue_measurements.c index a8925a2df9e894c45dd88ec3411b84742a50baf5..969521b3c5c02a34db8617c44c0488a450b65bd6 100644 --- a/common/utils/telnetsrv/telnetsrv_5Gue_measurements.c +++ b/common/utils/telnetsrv/telnetsrv_5Gue_measurements.c @@ -58,12 +58,14 @@ void measurcmd_display_rlcstats(telnet_printfunc_t prnt); void measurcmd_display_phycpu(telnet_printfunc_t prnt); void measurcmd_display_maccpu(telnet_printfunc_t prnt); void measurcmd_display_pdcpcpu(telnet_printfunc_t prnt); +void measurcmd_display_phyta(telnet_printfunc_t prnt); static telnet_measurgroupdef_t nrUEmeasurgroups[] = { // {"ue", GROUP_LTESTATS,0, measurcmd_display_macstats, {NULL}}, // {"rlc", GROUP_LTESTATS,0, measurcmd_display_rlcstats, {NULL}}, {"phycpu",GROUP_CPUSTATS,0, measurcmd_display_phycpu, {NULL}}, + {"phyta", GROUP_CPUSTATS, 0, measurcmd_display_phyta, {NULL}}, // {"maccpu",GROUP_CPUSTATS,0, measurcmd_display_maccpu, {NULL}}, // {"pdcpcpu",GROUP_CPUSTATS,0, measurcmd_display_pdcpcpu, {NULL}}, }; @@ -89,6 +91,17 @@ void measurcmd_display_phycpu(telnet_printfunc_t prnt) { PRINT_CPUMEAS_STATE,HDR); measurcmd_display_cpumeasures(prnt, cpumeasur, sizeof(cpumeasur)/sizeof(telnet_cpumeasurdef_t)); } +void measurcmd_display_phyta(telnet_printfunc_t prnt) +{ + PHY_VARS_NR_UE *UE = PHY_vars_UE_g[0][0]; + prnt("%s PHY TA stats\n", HDR); + prnt("N_TA_offset %d\n", UE->N_TA_offset); + for (int i = 0; i < UE->n_connected_gNB; ++i) { + NR_UL_TIME_ALIGNMENT_t *ta = &UE->ul_time_alignment[i]; + prnt("gNB %d TA command %d TA total %d TAG ID %d\n", i, ta->ta_command, ta->ta_total, ta->tag_id); + } + prnt("timing_advance %d (samples)\n", UE->timing_advance); +} /* void measurcmd_display_maccpu(telnet_printfunc_t prnt) { eNB_MAC_INST *macvars = RC.mac[eNB_id]; diff --git a/common/utils/threadPool/thread-pool.c b/common/utils/threadPool/thread-pool.c index 75252a9143c9db38ff9520ac1d4244c928c6ec5a..3cd18fab0292434846a6f36b8253019b1aaa8388 100644 --- a/common/utils/threadPool/thread-pool.c +++ b/common/utils/threadPool/thread-pool.c @@ -167,9 +167,9 @@ void initFloatingCoresTpool(int nbThreads,tpool_t *pool, bool performanceMeas, c if (nbThreads) { strcpy(threads,"-1"); for (int i=1; i < nbThreads; i++) - strncat(threads,",-1", sizeof(threads-1)); + strncat(threads,",-1", sizeof(threads)-1); } - threads[sizeof(threads-1)]=0; + threads[sizeof(threads)-1]=0; initNamedTpool(threads, pool, performanceMeas, name); } diff --git a/doc/BUILD.md b/doc/BUILD.md index dee55599cc50d2e47ea0931f36d66ff82472741c..5fcfbf18d8c99ee47202e48f1e8e296a49b91ec0 100644 --- a/doc/BUILD.md +++ b/doc/BUILD.md @@ -60,9 +60,7 @@ cd cmake_targets/ ./build_oai -I --phy_simulators ``` -After completing the build, the binaries are available in the cmake_targets/ran_build/build directory. -A copy is also available in the target/bin directory, with all binaries suffixed by the 3GPP release number, today **.Rel15**. - +After completing the build, the binaries are available in the `cmake_targets/ran_build/build` directory. Detailed information about these simulators can be found [in this dedicated page](https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/OpenAirLTEPhySimul) @@ -86,7 +84,7 @@ cd cmake_targets/ You can build any oai softmodem executable separately, you may not need all of them depending on your oai usage. -After completing the build, the binaries are available in the `cmake_targets/ran_build/build` directory. A copy is also available in the `target/bin` directory, with all binaries suffixed by the 3GPP release number, today .Rel15. +After completing the build, the binaries are available in the `cmake_targets/ran_build/build` directory. ## Installing UHD from source @@ -144,40 +142,7 @@ Using the help option of the build script you can get the list of available opti # `build_oai` options -| Option | Status | Description | -| ----------------------------------------------------------- | ------------------------------------------- | :----------------------------------------------------------- | -| -h | maintained | get help | -| -c | maintained | erase all previously built files for this target before starting the new build. | -| -C | maintained, needs improvement | erase all previously built files for any target before starting the new build. | -| --verbose-compile | maintained | get compilation messages, as when running `make` or `gcc` directly. | -| --cflags_processor | maintained | used to pass options to the compiler. | -| --clean-kernel | unknown | no code in the script corresponding to this option | -| --install-system-files | maintained | install oai built binaries in linux system files repositories | -| -w | maintained and tested in CI for USRP device | build corresponding oai device and create the soft link to enforce this device usage at run-time | -| --phy_simulators | maintained, tested in CI | build all PHY simulators, a set of executables allowing unitary tests of LTE and 5G channel implementation within oai. | -| --core_simulators | | | -| -s | | | -| --run-group | | | -| -I | maintained, tested in CI | install external dependencies before starting the build | -| --install-optional-packages | maintained | install optional packages, useful for developing and testing. look at the check_install_additional_tools function in cmake_targets/tools/build_helper script to get the list | -| -g | maintained | Specifies the level of debugging options used to build the binaries. Available levels are `Release`, `RelWithDebInfo`, `MinSizeRe` and `Debug`. If -g is not specified, `Release` is used, if -g is used without any level, `Debug` is used. | -| -G | maintained | Display Cmake debugging messages | -| --eNB | maintained and tested in CI | build `lte-softmodem` the LTE eNodeB | -| --UE | maintained and tested in CI | build `lte-uesoftmodem` the LTE UE | -| --gNB | maintained and tested in CI | build `nr-softmodem` the 5G gNodeB | -| --nrUE | maintained and tested in CI | build `nr-uesoftmodem` the 5G UE | -| --arch-native | maintained | build with native architecture optimization | -| --usrp-recplay | deprecated | use the USRP configuration parameters to use the record player. | -| --build-lib | maintained | build optional shared library(ies), which can then be loaded at run time via command line option. Use the --help option to get the list of supported optional libraries. `all` can be used to build all available optional libraries. | -| --UE-conf-nvram | maintained | Specifies the path to the input file used by the conf2uedata utility. defaults to [openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf](../openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf) | -| --UE-gen-nvram | maintained | Specifies the path where the output file created by the conf2uedata utility will be placed. Defaults to `target/bin` | -| -V | deprecated | Used to build with support for synchronization diagram utility. This is now available via the T-Tracer and is included if T-Tracer is not disabled. | -| --build-doxygen | unknown | build doxygen documentation, many oai source files do not include doxygen comments | -| --disable-deadline --enable-deadline --disable-cpu-affinity | deprecated | These options were used to activate or de-activate specific code depending on the choice of a specific linux scheduling mode. This has not been tested for a while and should be implemented as configuration options | -| --disable-T-Tracer | maintained, to be tested | Remove T_Tracer and console LOG messages except error messages. | -| --ue-autotest-trace --ue-timing --ue-trace | deprecated | Were used to enable conditional code implementing debugging messages or debugging statistics. These functionalities are now either available from run-time options or not maintained. | -| --build-eclipse | unknown | | -| | | | +Please run `./build_oai -h` to get a list of available options. [oai wiki home](https://gitlab.eurecom.fr/oai/openairinterface5g/wikis/home) diff --git a/doc/FEATURE_SET.md b/doc/FEATURE_SET.md index d660a875a7a1ae532922a229e13ee4e0b7840552..38eaeac4330e402afb9481504d0efa0b471e7f1a 100644 --- a/doc/FEATURE_SET.md +++ b/doc/FEATURE_SET.md @@ -256,10 +256,10 @@ The following features are valid for the gNB and the 5G-NR UE. * Static TDD, * FDD * Normal CP -* 30 kHz subcarrier spacing +* Subcarrier spacings: 15 and 30kHz (FR1), 120kHz (FR2) * Bandwidths: 10, 20, 40, 80, 100MHz (273 Physical Resource Blocks) * Intermediate downlink and uplink frequencies to interface with IF equipment -* Single antenna port (single beam) +* Procedures for 2-layer DL MIMO * Slot format: 14 OFDM symbols in UL or DL * Highly efficient 3GPP compliant LDPC encoder and decoder (BG1 and BG2 supported) * Highly efficient 3GPP compliant polar encoder and decoder @@ -269,7 +269,7 @@ The following features are valid for the gNB and the 5G-NR UE. ## gNB PHY Layer ## -* 30KHz SCS for FR1 and 120 KHz SCS for FR2 +* 15kHz and 30kHz SCS for FR1 and 120kHz SCS for FR2 * Generation of NR-PSS/NR-SSS * NR-PBCH supports multiple SSBs and flexible periodicity * Generation of NR-PDCCH (including generation of DCI, polar encoding, scrambling, modulation, RB mapping, etc) @@ -289,7 +289,7 @@ The following features are valid for the gNB and the 5G-NR UE. - DMRS configuration type 1 and 2 - Single and multiple DMRS symbols - PTRS support - - Support for 1 RX antenna + - Support for 2 RX antenna - Support for 1 layer * NR-PUCCH - Format 0 (2 bits, for ACK/NACK and SR) @@ -429,11 +429,13 @@ The following features are valid for the gNB and the 5G-NR UE. ## NR UE PHY Layer ## * Initial synchronization + - the UE needs to know the position in frequency of the SSBs (via command line parameter in SA) * Time tracking based on PBCH DMRS -* Frequency offset estimation -* 30KHz SCS for FR1 and 120 KHz SCS for FR2 +* Frequency offset estimation based on PSS and SSS +* 15kHz and 30kHz SCS for FR1 and 120 kHz SCS for FR2 * Reception of NR-PSS/NR-SSS * NR-PBCH supports multiple SSBs and flexible periodicity + - RSRP measurement for the strongest SSB * Reception of NR-PDCCH (including reception of DCI, polar decoding, de-scrambling, de-modulation, RB de-mapping, etc) - common search space configured by MIB - user-specific search space configured by RRC @@ -446,32 +448,31 @@ The following features are valid for the gNB and the 5G-NR UE. - Support for 1, 2 and 4 RX antennas - Support for up to 2 layers (currently limited to DMRS configuration type 2) * Measurements based on NR-CSIRS - - RI, PMI and CQI computation - - Support for 1 and 2 RX antennas - - Support for up to 2 layers + - RSRP measurements + - RI, PMI and CQI computation + - Support for up to 4 RX antennas + - Support for up to 2 layers * NR-PUSCH (including Segmentation, LDPC encoding, rate matching, scrambling, modulation, RB mapping, etc). - PUSCH mapping type A and B - DMRS configuration type 1 and 2 - Single and multiple DMRS symbols - PTRS support - - Support for 1 TX antenna + - Support for 2 TX antenna - Support for 1 layer * NR-PUCCH - Format 0 (2 bits for ACK/NACK and SR) - - Format 2 (up to 64 bits, mainly for CSI feedback) - - Format 1, 3 and 4 present but old code never dested (need restructuring before verification) + - Format 2 (up to 11 bits, mainly for CSI feedback) + - Format 1, 3 and 4 present but old code never tested (need restructuring before verification) * NR-SRS - - Generation of sequence at PHY - - SRS signal transmission + - Generation of sequence at PHY + - SRS signal transmission * NR-PRS - - PRS based Channel estimation with T tracer dumps - - Time of arrival(ToA) estimation based on channel impulse response(CIR) - - Finer ToA estimation by 16x oversampled IDFT for CIR - - Support for multiple gNB reception with gNBs synced via GPSDO + - PRS based Channel estimation with T tracer dumps + - Time of arrival(ToA) estimation based on channel impulse response(CIR) + - Finer ToA estimation by 16x oversampled IDFT for CIR + - Support for multiple gNB reception with gNBs synced via GPSDO * NR-PRACH - Formats 0,1,2,3, A1-A3, B1-B3 -* SS-RSRP - - RSRP measured on synchronization SSB (ok only for single SSB) * Highly efficient 3GPP compliant LDPC encoder and decoder (BG1 and BG2 are supported) * Highly efficient 3GPP compliant polar encoder and decoder * Encoder and decoder for short block @@ -546,6 +547,7 @@ The following features are valid for the gNB and the 5G-NR UE. - RRC Uplink/Downlink Information transfer carrying NAS messages transparently - RRC Reconfiguration/Reconfiguration complete - Support for master cell group configuration + - Reception of UECapabilityEnquiry, encoding and transmission of UECapability * Interface with PDCP: configuration, DCCH and CCCH message handling * Interface with RLC and MAC for configuration diff --git a/doc/d2d_emulator_setup.txt b/doc/d2d_emulator_setup.txt index 9b3393c6bf3be9512ad96b85501a1d19d312098d..fe26e3f9d1ec80fdf0ea589fff840a722f0ff850 100644 --- a/doc/d2d_emulator_setup.txt +++ b/doc/d2d_emulator_setup.txt @@ -27,12 +27,9 @@ Validate that there are no errors OAI build/execute - export NFAPI_DIR=XXX (place where NFAPI was installed) - cd cmake_targets - - ./build_oai --UE + - ./build_oai --UE --ninja (if necessary, use ./build_oai -I --UE to install required packages) - cd ran_build/build/ - - cp ../../../targets/bin/.ue* . - - cp ../../../targets/bin/.usim* . - - sudo insmod ../../../targets/bin/ue_ip.ko UE1: - sudo ifconfig oip0 10.0.0.1 diff --git a/docker/Dockerfile.eNB.rhel8.2 b/docker/Dockerfile.eNB.rhel8.2 index 23afb5f38d8aff027dbd76082255150602324646..cc4501b66b8c60d6730a8fd05afdb44662a4a671 100644 --- a/docker/Dockerfile.eNB.rhel8.2 +++ b/docker/Dockerfile.eNB.rhel8.2 @@ -57,7 +57,7 @@ RUN yum update -y && \ WORKDIR /opt/oai-enb/bin COPY --from=enb-build \ - /oai-ran/targets/bin/lte-softmodem.Rel15 \ + /oai-ran/cmake_targets/ran_build/build/lte-softmodem \ /oai-ran/docker/scripts/entrypoint.sh \ ./ @@ -119,4 +119,4 @@ WORKDIR /opt/oai-enb EXPOSE 2152/udp 36412/udp 36422/udp ENTRYPOINT ["/opt/oai-enb/bin/entrypoint.sh"] -CMD ["/opt/oai-enb/bin/lte-softmodem.Rel15", "-O", "/opt/oai-enb/etc/enb.conf"] +CMD ["/opt/oai-enb/bin/lte-softmodem", "-O", "/opt/oai-enb/etc/enb.conf"] diff --git a/docker/Dockerfile.eNB.ubuntu18 b/docker/Dockerfile.eNB.ubuntu18 index 2b50dcadfbe1e0b327d9a0beb2a60940aabc287e..172d04943aa1e2f40ed7312ed0195aee8d437bd3 100644 --- a/docker/Dockerfile.eNB.ubuntu18 +++ b/docker/Dockerfile.eNB.ubuntu18 @@ -64,7 +64,7 @@ RUN apt-get update && \ WORKDIR /opt/oai-enb/bin COPY --from=enb-build \ - /oai-ran/targets/bin/lte-softmodem.Rel15 \ + /oai-ran/cmake_targets/ran_build/build/lte-softmodem \ /oai-ran/docker/scripts/entrypoint.sh \ ./ @@ -115,4 +115,4 @@ EXPOSE 2152/udp 36412/udp 36422/udp #EXPOSE 50001/udp # IF5 / ECPRI (data) ENTRYPOINT ["/opt/oai-enb/bin/entrypoint.sh"] -CMD ["/opt/oai-enb/bin/lte-softmodem.Rel15", "-O", "/opt/oai-enb/etc/enb.conf"] +CMD ["/opt/oai-enb/bin/lte-softmodem", "-O", "/opt/oai-enb/etc/enb.conf"] diff --git a/docker/Dockerfile.gNB.aw2s.rhel8.2 b/docker/Dockerfile.gNB.aw2s.rhel8.2 new file mode 100644 index 0000000000000000000000000000000000000000..09602f6039b0b2a7a5fd81a566606aeb43f51045 --- /dev/null +++ b/docker/Dockerfile.gNB.aw2s.rhel8.2 @@ -0,0 +1,112 @@ +#/* +# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more +# * contributor license agreements. See the NOTICE file distributed with +# * this work for additional information regarding copyright ownership. +# * The OpenAirInterface Software Alliance licenses this file to You under +# * the OAI Public License, Version 1.1 (the "License"); you may not use this file +# * except in compliance with the License. +# * You may obtain a copy of the License at +# * +# * http://www.openairinterface.org/?page_id=698 +# * +# * Unless required by applicable law or agreed to in writing, software +# * distributed under the License is distributed on an "AS IS" BASIS, +# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# * See the License for the specific language governing permissions and +# * limitations under the License. +# *------------------------------------------------------------------------------- +# * For more information about the OpenAirInterface (OAI) Software Alliance: +# * contact@openairinterface.org +# */ +#--------------------------------------------------------------------- +# +# Dockerfile for the Open-Air-Interface BUILD service +# Valid for RHEL8 +# +#--------------------------------------------------------------------- + +FROM ran-base:latest AS gnb-base + +FROM ran-build:latest AS gnb-build + +COPY ./libori.so /usr/local/lib + +# build AW2S fronthaul lib +WORKDIR /oai-ran +RUN /bin/sh oaienv && \ + cd cmake_targets/ran_build/build && \ + ninja aw2sori_transpro + +RUN python3 ./docker/scripts/generateTemplate.py ./docker/scripts/gnb_parameters.yaml && \ + cp /oai-ran/docker/scripts/gnb_entrypoint.sh /oai-ran/docker/scripts/entrypoint.sh + +#start from scratch for target executable +FROM registry.access.redhat.com/ubi8/ubi:latest as oai-gnb-aw2s +ENV TZ=Europe/Paris + +RUN yum repolist --disablerepo=* && \ + yum update -y && \ + yum install -y --enablerepo="ubi-8-codeready-builder" \ + procps-ng \ + libXpm \ + libX11 \ + atlas \ + lksctp-tools \ + nettle \ + tzdata \ + net-tools \ + iputils \ + python3-pip \ + libyaml && \ + pip3 install six && \ + pip3 install requests && \ + echo "/usr/local/lib" > /etc/ld.so.conf.d/local-lib.conf && \ + echo "/usr/local/lib64" >> /etc/ld.so.conf.d/local-lib.conf + +WORKDIR /opt/oai-gnb-aw2s/bin +COPY --from=gnb-build \ + /oai-ran/cmake_targets/ran_build/build/nr-softmodem \ + /oai-ran/docker/scripts/entrypoint.sh \ + ./ + +COPY --from=gnb-build \ + /oai-ran/cmake_targets/ran_build/build/liboai_eth_transpro.so \ + /oai-ran/cmake_targets/ran_build/build/librfsimulator.so \ + /oai-ran/cmake_targets/ran_build/build/libaw2sori_transpro.so \ + /oai-ran/cmake_targets/ran_build/build/libcoding.so \ + /oai-ran/cmake_targets/ran_build/build/libparams_libconfig.so \ + /oai-ran/cmake_targets/ran_build/build/libdfts.so \ + /oai-ran/cmake_targets/ran_build/build/libldpc.so \ + /oai-ran/cmake_targets/ran_build/build/libldpc_optim.so \ + /oai-ran/cmake_targets/ran_build/build/libldpc_optim8seg.so \ + /oai-ran/cmake_targets/ran_build/build/libldpc_orig.so \ + /oai-ran/cmake_targets/ran_build/build/libtelnetsrv.so \ + /usr/local/lib/ + +COPY --from=gnb-base \ + /lib64/libconfig.so.9 \ + /lib64/libforms.so.2 \ + /lib64/libblas.so.3 \ + /lib64/liblapack.so.3 \ + /lib64/liblapacke.so.3 \ + /lib64/ + +COPY --from=gnb-base /usr/lib64/libprotobuf-c.so.1 /usr/local/lib + +RUN ln -s /usr/local/lib/libaw2sori_transpro.so /usr/local/lib/libthirdparty_transpro.so && \ + ldconfig + +# Copy the relevant configuration files for gNB +WORKDIR /opt/oai-gnb-aw2s/etc +COPY --from=gnb-build /oai-ran/docker/etc . + +WORKDIR /opt/oai-gnb-aw2s +#EXPOSE 2152/udp # S1U, GTP/UDP +#EXPOSE 22100/tcp # ? +#EXPOSE 36412/udp # S1C, SCTP/UDP +#EXPOSE 36422/udp # X2C, SCTP/UDP +#EXPOSE 50000/udp # IF5 / ORI (control) +#EXPOSE 50001/udp # IF5 / ECPRI (data) + +ENTRYPOINT ["/opt/oai-gnb-aw2s/bin/entrypoint.sh"] +CMD ["/opt/oai-gnb-aw2s/bin/nr-softmodem", "-O", "/opt/oai-gnb-aw2s/etc/gnb.conf"] diff --git a/docker/Dockerfile.gNB.rhel8.2 b/docker/Dockerfile.gNB.rhel8.2 index f782384f58dac750ea9560dca1f9a7eccfa0ebe4..6420b469d45ed544bb2479ea55ce1df30be5358c 100644 --- a/docker/Dockerfile.gNB.rhel8.2 +++ b/docker/Dockerfile.gNB.rhel8.2 @@ -59,7 +59,7 @@ RUN yum repolist --disablerepo=* && \ WORKDIR /opt/oai-gnb/bin COPY --from=gnb-build \ - /oai-ran/targets/bin/nr-softmodem.Rel15 \ + /oai-ran/cmake_targets/ran_build/build/nr-softmodem \ /oai-ran/docker/scripts/entrypoint.sh \ ./ @@ -124,4 +124,4 @@ WORKDIR /opt/oai-gnb #EXPOSE 50001/udp # IF5 / ECPRI (data) ENTRYPOINT ["/opt/oai-gnb/bin/entrypoint.sh"] -CMD ["/opt/oai-gnb/bin/nr-softmodem.Rel15", "-O", "/opt/oai-gnb/etc/gnb.conf"] +CMD ["/opt/oai-gnb/bin/nr-softmodem", "-O", "/opt/oai-gnb/etc/gnb.conf"] diff --git a/docker/Dockerfile.gNB.ubuntu18 b/docker/Dockerfile.gNB.ubuntu18 index 11669c2af427640a2ab01a06feb6de1fce38c100..5c38e8ccefcfe2a142e4b13d5dde9cffe1204ef2 100644 --- a/docker/Dockerfile.gNB.ubuntu18 +++ b/docker/Dockerfile.gNB.ubuntu18 @@ -63,7 +63,7 @@ RUN apt-get update && \ WORKDIR /opt/oai-gnb/bin COPY --from=gnb-build \ - /oai-ran/targets/bin/nr-softmodem.Rel15 \ + /oai-ran/cmake_targets/ran_build/build/nr-softmodem \ /oai-ran/docker/scripts/entrypoint.sh \ ./ @@ -114,4 +114,4 @@ WORKDIR /opt/oai-gnb #EXPOSE 50001/udp # IF5 / ECPRI (data) ENTRYPOINT ["/opt/oai-gnb/bin/entrypoint.sh"] -CMD ["/opt/oai-gnb/bin/nr-softmodem.Rel15", "-O", "/opt/oai-gnb/etc/gnb.conf"] +CMD ["/opt/oai-gnb/bin/nr-softmodem", "-O", "/opt/oai-gnb/etc/gnb.conf"] diff --git a/docker/Dockerfile.lteRU.rhel8.2 b/docker/Dockerfile.lteRU.rhel8.2 index f20910ff510ec92452417e426cd43298b9c5f7b4..338a15c9cf4b3c4817c517630fa86acca9abcb77 100644 --- a/docker/Dockerfile.lteRU.rhel8.2 +++ b/docker/Dockerfile.lteRU.rhel8.2 @@ -54,7 +54,7 @@ RUN yum update -y && \ WORKDIR /opt/oai-lte-ru/bin COPY --from=ru-build \ - /oai-ran/targets/bin/oairu.Rel15 \ + /oai-ran/cmake_targets/ran_build/build/oairu \ /oai-ran/docker/scripts/entrypoint.sh \ . @@ -102,4 +102,4 @@ COPY --from=ru-build /oai-ran/docker/etc/rru* ./ WORKDIR /opt/oai-lte-ru ENTRYPOINT ["/opt/oai-lte-ru/bin/entrypoint.sh"] -CMD ["/opt/oai-lte-ru/bin/oairu.Rel15", "-O", "/opt/oai-lte-ru/etc/rru.conf"] +CMD ["/opt/oai-lte-ru/bin/oairu", "-O", "/opt/oai-lte-ru/etc/rru.conf"] diff --git a/docker/Dockerfile.lteRU.ubuntu18 b/docker/Dockerfile.lteRU.ubuntu18 index 157a5a615a94f672a52064eff1c105d1b14c2b87..88fbc59bbb749283f4bbf76bcddd7bacc41f25df 100644 --- a/docker/Dockerfile.lteRU.ubuntu18 +++ b/docker/Dockerfile.lteRU.ubuntu18 @@ -59,7 +59,7 @@ RUN apt-get update && \ WORKDIR /opt/oai-lte-ru/bin COPY --from=ru-build \ - /oai-ran/targets/bin/oairu.Rel15 \ + /oai-ran/cmake_targets/ran_build/build/oairu \ /oai-ran/docker/scripts/entrypoint.sh \ ./ @@ -95,4 +95,4 @@ COPY --from=ru-build /oai-ran/docker/etc/rru* ./ WORKDIR /opt/oai-lte-ru ENTRYPOINT ["/opt/oai-lte-ru/bin/entrypoint.sh"] -CMD ["/opt/oai-lte-ru/bin/oairu.Rel15", "-O", "/opt/oai-lte-ru/etc/rru.conf"] +CMD ["/opt/oai-lte-ru/bin/oairu", "-O", "/opt/oai-lte-ru/etc/rru.conf"] diff --git a/docker/Dockerfile.lteUE.rhel8.2 b/docker/Dockerfile.lteUE.rhel8.2 index 303394ea27afaaee58bdbf156ff7e16f904c011a..f37a04fff15b68eb41903e36b7038a89cfb5ca5b 100644 --- a/docker/Dockerfile.lteUE.rhel8.2 +++ b/docker/Dockerfile.lteUE.rhel8.2 @@ -58,11 +58,11 @@ RUN yum update -y && \ WORKDIR /opt/oai-lte-ue/bin COPY --from=lte-ue-build \ - /oai-ran/targets/bin/lte-uesoftmodem.Rel15 \ + /oai-ran/cmake_targets/ran_build/build/lte-uesoftmodem \ /oai-ran/docker/scripts/entrypoint.sh \ - /oai-ran/targets/bin/conf2uedata \ - /oai-ran/targets/bin/nvram \ - /oai-ran/targets/bin/usim \ + /oai-ran/cmake_targets/nas_sim_tools/build/conf2uedata \ + /oai-ran/cmake_targets/nas_sim_tools/build/nvram \ + /oai-ran/cmake_targets/nas_sim_tools/build/usim \ ./ COPY --from=lte-ue-build \ @@ -114,5 +114,5 @@ WORKDIR /opt/oai-lte-ue/etc COPY --from=lte-ue-build /oai-ran/docker/etc . WORKDIR /opt/oai-lte-ue -CMD ["/opt/oai-lte-ue/bin/lte-uesoftmodem.Rel15"] +CMD ["/opt/oai-lte-ue/bin/lte-uesoftmodem"] ENTRYPOINT ["/opt/oai-lte-ue/bin/entrypoint.sh"] diff --git a/docker/Dockerfile.lteUE.ubuntu18 b/docker/Dockerfile.lteUE.ubuntu18 index b2a0fd6e93dda25990d49a57a9b0452f9061d2b1..e387718ab5bfab17e8fced0a2ebada72f3ba5940 100644 --- a/docker/Dockerfile.lteUE.ubuntu18 +++ b/docker/Dockerfile.lteUE.ubuntu18 @@ -64,11 +64,11 @@ RUN apt-get update && \ WORKDIR /opt/oai-lte-ue/bin COPY --from=lte-ue-build \ - /oai-ran/targets/bin/lte-uesoftmodem.Rel15 \ + /oai-ran/cmake_targets/ran_build/build/lte-uesoftmodem \ /oai-ran/docker/scripts/entrypoint.sh \ - /oai-ran/targets/bin/conf2uedata \ - /oai-ran/targets/bin/nvram \ - /oai-ran/targets/bin/usim \ + /oai-ran/cmake_targets/nas_sim_tools/build/conf2uedata \ + /oai-ran/cmake_targets/nas_sim_tools/build/nvram \ + /oai-ran/cmake_targets/nas_sim_tools/build/usim \ ./ COPY --from=lte-ue-build \ @@ -108,5 +108,5 @@ WORKDIR /opt/oai-lte-ue/etc COPY --from=lte-ue-build /oai-ran/docker/etc . WORKDIR /opt/oai-lte-ue -CMD ["/opt/oai-lte-ue/bin/lte-uesoftmodem.Rel15"] +CMD ["/opt/oai-lte-ue/bin/lte-uesoftmodem"] ENTRYPOINT ["/opt/oai-lte-ue/bin/entrypoint.sh"] diff --git a/docker/Dockerfile.nrUE.rhel8.2 b/docker/Dockerfile.nrUE.rhel8.2 index 3ee93ed5d277355200fa1fd22d97b7e780a67cd9..95f1bf1eef9de077f4a71577f5bc083f20d9fd4d 100644 --- a/docker/Dockerfile.nrUE.rhel8.2 +++ b/docker/Dockerfile.nrUE.rhel8.2 @@ -59,7 +59,7 @@ RUN yum update -y && \ WORKDIR /opt/oai-nr-ue/bin COPY --from=nr-ue-build \ - /oai-ran/targets/bin/nr-uesoftmodem.Rel15 \ + /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem \ /oai-ran/docker/scripts/entrypoint.sh \ ./ @@ -123,5 +123,5 @@ WORKDIR /opt/oai-nr-ue/etc COPY --from=nr-ue-build /oai-ran/ci-scripts/conf_files/ue.* . WORKDIR /opt/oai-nr-ue -CMD ["/opt/oai-nr-ue/bin/nr-uesoftmodem.Rel15", "-O", "/opt/oai-nr-ue/etc/nr-ue.conf"] +CMD ["/opt/oai-nr-ue/bin/nr-uesoftmodem", "-O", "/opt/oai-nr-ue/etc/nr-ue.conf"] ENTRYPOINT ["/opt/oai-nr-ue/bin/entrypoint.sh"] diff --git a/docker/Dockerfile.nrUE.ubuntu18 b/docker/Dockerfile.nrUE.ubuntu18 index 0997783b8ba117239fa56ecddd6157438b9fe968..c7afd2cd242217d3314204f894214cf882e02c8c 100644 --- a/docker/Dockerfile.nrUE.ubuntu18 +++ b/docker/Dockerfile.nrUE.ubuntu18 @@ -64,7 +64,7 @@ RUN apt-get update && \ WORKDIR /opt/oai-nr-ue/bin COPY --from=nr-ue-build \ - /oai-ran/targets/bin/nr-uesoftmodem.Rel15 \ + /oai-ran/cmake_targets/ran_build/build/nr-uesoftmodem \ /oai-ran/docker/scripts/entrypoint.sh \ ./ @@ -111,5 +111,5 @@ RUN /bin/bash -c "ln -s /usr/local/lib/liboai_usrpdevif.so /usr/local/lib/liboai ldconfig WORKDIR /opt/oai-nr-ue -CMD ["/opt/oai-nr-ue/bin/nr-uesoftmodem.Rel15", "-O", "/opt/oai-nr-ue/etc/nr-ue.conf"] +CMD ["/opt/oai-nr-ue/bin/nr-uesoftmodem", "-O", "/opt/oai-nr-ue/etc/nr-ue.conf"] ENTRYPOINT ["/opt/oai-nr-ue/bin/entrypoint.sh"] diff --git a/docker/Dockerfile.phySim.rhel8.2 b/docker/Dockerfile.phySim.rhel8.2 index 507b56f18d58ac0436eba5212a5cc93dcfb4d343..944689c21e3bfe1395258107f0333706975250db 100644 --- a/docker/Dockerfile.phySim.rhel8.2 +++ b/docker/Dockerfile.phySim.rhel8.2 @@ -60,24 +60,24 @@ RUN yum update -y && \ echo "/usr/local/lib" > /etc/ld.so.conf.d/local-lib.conf && \ echo "/usr/local/lib64" >> /etc/ld.so.conf.d/local-lib.conf -WORKDIR /opt/oai-physim/targets/bin +WORKDIR /opt/oai-physim/bin COPY --from=phy-sim-build \ - /oai-ran/targets/bin/dlsim.Rel15 \ - /oai-ran/targets/bin/nr_dlsim.Rel15 \ - /oai-ran/targets/bin/nr_prachsim.Rel15 \ - /oai-ran/targets/bin/nr_ulschsim.Rel15 \ - /oai-ran/targets/bin/polartest.Rel15 \ - /oai-ran/targets/bin/ulsim.Rel15 \ - /oai-ran/targets/bin/ldpctest.Rel15 \ - /oai-ran/targets/bin/nr_dlschsim.Rel15 \ - /oai-ran/targets/bin/nr_pbchsim.Rel15 \ - /oai-ran/targets/bin/nr_pucchsim.Rel15 \ - /oai-ran/targets/bin/nr_ulsim.Rel15 \ - /oai-ran/targets/bin/smallblocktest.Rel15 \ + /oai-ran/cmake_targets/ran_build/build/dlsim \ + /oai-ran/cmake_targets/ran_build/build/nr_dlsim \ + /oai-ran/cmake_targets/ran_build/build/nr_prachsim \ + /oai-ran/cmake_targets/ran_build/build/nr_ulschsim \ + /oai-ran/cmake_targets/ran_build/build/polartest \ + /oai-ran/cmake_targets/ran_build/build/ulsim \ + /oai-ran/cmake_targets/ran_build/build/ldpctest \ + /oai-ran/cmake_targets/ran_build/build/nr_dlschsim \ + /oai-ran/cmake_targets/ran_build/build/nr_pbchsim \ + /oai-ran/cmake_targets/ran_build/build/nr_pucchsim \ + /oai-ran/cmake_targets/ran_build/build/nr_ulsim \ + /oai-ran/cmake_targets/ran_build/build/smallblocktest \ ./ COPY --from=phy-sim-build \ - /oai-ran/targets/bin/libcoding.so \ + /oai-ran/cmake_targets/ran_build/build/libcoding.so \ /lib64/liblapacke.so.3 \ /lib64/libX11.so.6 \ /lib64/libXpm.so.4 \ @@ -114,7 +114,6 @@ COPY --from=phy-sim-build \ /oai-ran/cmake_targets/autotests/test_case_list.xml \ /opt/oai-physim/cmake_targets/autotests/ COPY --from=phy-sim-build \ - /oai-ran/cmake_targets/autotests/tools/free_mem.bash \ /oai-ran/cmake_targets/tools/build_helper \ /oai-ran/cmake_targets/tools/test_helper \ /opt/oai-physim/cmake_targets/tools/ diff --git a/docker/README.md b/docker/README.md index 7844b46bce54ae222b73693e8c3e1dd5a923f04a..c4d799c6cee0c515370f4b66c42ecd62a79af798 100644 --- a/docker/README.md +++ b/docker/README.md @@ -46,8 +46,8 @@ For all platforms, the strategy for building docker/podman images is the same: - lte-UE - nr-UE * These target images will only contain: - - the generated executable (for example `lte-softmodem.Rel15`) - - the generated shared libraries (for example `liboai_usrpdevif.so.Rel15`) + - the generated executable (for example `lte-softmodem`) + - the generated shared libraries (for example `liboai_usrpdevif.so`) - the needed libraries and packages to run these generated binaries - Some configuration file templates - Some tools (such as `ping`, `ifconfig`) diff --git a/docker/scripts/generateTemplate.py b/docker/scripts/generateTemplate.py index b79d25f8f3d2280cf78d6028e5751dc69a2b5aee..1d5dbb5cb5369b9fb6645688cfd8815e1af3e583 100644 --- a/docker/scripts/generateTemplate.py +++ b/docker/scripts/generateTemplate.py @@ -90,7 +90,7 @@ def main(): if templine.find(key["key"]) >= 0: if re.search(r'preference', templine): # false positive continue - if re.search(r'sdr_addrs', templine): # false positive + if key["key"] != 'sdr_addrs' and re.search(r'sdr_addrs', templine): # false positive continue elif re.search('downlink_frequency', line): templine = re.sub(r'[0-9]+', key["env"], line) @@ -106,7 +106,10 @@ def main(): r'\1' + key["env"] + r"\2", templine) # next: matches key = NUMBER elif re.search(key["key"] + "\s*=\s*[x0-9]+", templine): # x for "0x" hex start - templine = re.sub("(" + key["key"] + "\s*=\s*(?:0x)?)[x0-9]+", r"\1" + key["env"], templine) + templine = re.sub("(" + key["key"] + "\s*=\s*(?:0x)?)[x0-9a-fA-F]+", r"\1" + key["env"], templine) + # next: special case for sdr_addrs + elif key["key"] == 'sdr_addrs' and re.search(key["key"] + "\s*=\s*", templine): + templine = re.sub("(" + key["key"] + "\s*=\s*.*$)", key["key"] + " = \"" + key["env"] + "\"", templine) outputfile.write(templine) if __name__ == "__main__": diff --git a/docker/scripts/gnb_entrypoint.sh b/docker/scripts/gnb_entrypoint.sh index 4e8983599e26e6eb21db247e0d6a0de17ff86f7a..f1d6bd833337c1d1bc024ccb0944ddfc018a29f8 100755 --- a/docker/scripts/gnb_entrypoint.sh +++ b/docker/scripts/gnb_entrypoint.sh @@ -18,8 +18,13 @@ if [[ -v USE_SA_NFAPI_VNF ]]; then cp $PREFIX/etc/gnb.sa.nfapi.vnf.conf $PREFIX/ # Sometimes, the templates are not enough. We mount a conf file on $PREFIX/etc. It can be a template itself. if [[ -v USE_VOLUMED_CONF ]]; then cp $PREFIX/etc/mounted.conf $PREFIX/etc/gnb.conf; fi -# Resolve AMF FQDN +# Defualt Parameters +GNB_ID=${GNB_ID:-e00} +NSSAI_SD=${NSSAI_SD:-ffffff} +USE_FQDN=${USE_FQDN:-false} AMF_FQDN=${AMF_FQDN:-oai-amf-svc} + +# Resolve AMF FQDN if ($USE_FQDN); then AMF_IP_ADDRESS=(`getent hosts $AMF_FQDN | awk '{print $1}'`); fi # Only this template will be manipulated diff --git a/docker/scripts/gnb_parameters.yaml b/docker/scripts/gnb_parameters.yaml index a7539daa69f1b345af0a4057454fa8ac8eee6d2d..524c6fbb4230e9f9701330b2c5294b17893cedbb 100644 --- a/docker/scripts/gnb_parameters.yaml +++ b/docker/scripts/gnb_parameters.yaml @@ -28,6 +28,8 @@ - filePrefix: gnb.band78.tm1.fr1.106PRB.usrpb210.conf outputfilename: "gnb.nsa.tdd.conf" config: + - key: gNB_ID + env: "@GNB_ID@" - key: Active_gNBs env: "@GNB_NAME@" - key: gNB_name @@ -72,6 +74,8 @@ - filePrefix: gnb.band78.sa.fr1.106PRB.usrpn310.conf outputfilename: "gnb.sa.tdd.conf" config: + - key: gNB_ID + env: "@GNB_ID@" - key: Active_gNBs env: "@GNB_NAME@" - key: gNB_name @@ -88,6 +92,8 @@ env: "@NSSAI_SST@" - key: sd env: "@NSSAI_SD@" + - key: tracking_area_code + env: "@TAC@" - key: ipv4 env: "@AMF_IP_ADDRESS@" - key: GNB_INTERFACE_NAME_FOR_NG_AMF @@ -98,12 +104,16 @@ env: "@GNB_NGU_IF_NAME@" - key: GNB_IPV4_ADDRESS_FOR_NGU env: "@GNB_NGU_IP_ADDRESS@" + - key: sdr_addrs + env: "@SDR_ADDRS@" - key: parallel_config env: "@THREAD_PARALLEL_CONFIG@" - filePrefix: gnb.sa.band78.fr1.106PRB.usrpb210.conf outputfilename: "gnb.sa.tdd.b2xx.conf" config: + - key: gNB_ID + env: "@GNB_ID@" - key: Active_gNBs env: "@GNB_NAME@" - key: gNB_name @@ -118,6 +128,10 @@ env: "@TAC@" - key: sst env: "@NSSAI_SST@" + - key: sd + env: "@NSSAI_SD@" + - key: tracking_area_code + env: "@TAC@" - key: ipv4 env: "@AMF_IP_ADDRESS@" - key: GNB_INTERFACE_NAME_FOR_NG_AMF @@ -134,6 +148,8 @@ - filePrefix: gnb.sa.band66.fr1.106PRB.usrpn300.conf outputfilename: "gnb.sa.fdd.conf" config: + - key: gNB_ID + env: "@GNB_ID@" - key: Active_gNBs env: "@GNB_NAME@" - key: gNB_name @@ -150,6 +166,8 @@ env: "@NSSAI_SST@" - key: sd env: "@NSSAI_SD@" + - key: tracking_area_code + env: "@TAC@" - key: ipv4 env: "@AMF_IP_ADDRESS@" - key: GNB_INTERFACE_NAME_FOR_NG_AMF @@ -166,6 +184,8 @@ - filePrefix: gNB_SA_CU.conf outputfilename: "gnb.sa.cu.conf" config: + - key: gNB_ID + env: "@GNB_ID@" - key: Active_gNBs env: "@GNB_NAME@" - key: gNB_name @@ -182,6 +202,8 @@ env: "@NSSAI_SST@" - key: sd env: "@NSSAI_SD@" + - key: tracking_area_code + env: "@TAC@" - key: ipv4 env: "@AMF_IP_ADDRESS@" - key: GNB_INTERFACE_NAME_FOR_NG_AMF @@ -206,6 +228,8 @@ - filePrefix: gNB_SA_DU.conf outputfilename: "gnb.sa.du.tdd.conf" config: + - key: gNB_ID + env: "@GNB_ID@" - key: Active_gNBs env: "@GNB_NAME@" - key: gNB_name @@ -222,6 +246,8 @@ env: "@NSSAI_SST@" - key: sd env: "@NSSAI_SD@" + - key: tracking_area_code + env: "@TAC@" - key: ipv4 env: "@AMF_IP_ADDRESS@" - key: GNB_INTERFACE_NAME_FOR_NG_AMF @@ -248,6 +274,8 @@ - filePrefix: proxy_gnb.band78.sa.fr1.106PRB.usrpn310.conf outputfilename: "gnb.sa.nfapi.vnf.conf" config: + - key: gNB_ID + env: "@GNB_ID@" - key: Active_gNBs env: "@GNB_NAME@" - key: gNB_name @@ -264,6 +292,8 @@ env: "@NSSAI_SST@" - key: sd env: "@NSSAI_SD@" + - key: tracking_area_code + env: "@TAC@" - key: ipv4 env: "@AMF_IP_ADDRESS@" - key: GNB_INTERFACE_NAME_FOR_NG_AMF diff --git a/executables/nr-ru.c b/executables/nr-ru.c index 71e7a4f4b1f18b6ded46eac09f32978ff2cbacb8..cbc351511d74f75c3c22e70ee15ffbaf45a311ce 100644 --- a/executables/nr-ru.c +++ b/executables/nr-ru.c @@ -865,12 +865,13 @@ void fill_rf_config(RU_t *ru, char *rf_config_file) { cfg->tx_gain[i] = ru->att_tx; cfg->rx_gain[i] = ru->max_rxgain-ru->att_rx; cfg->configFilename = rf_config_file; - LOG_I(PHY, "Channel %d: setting tx_gain offset %.0f, rx_gain offset %.0f, tx_freq %.0f Hz, rx_freq %.0f Hz, tune_offset %.0f Hz\n", + LOG_I(PHY, "Channel %d: setting tx_gain offset %.0f, rx_gain offset %.0f, tx_freq %.0f Hz, rx_freq %.0f Hz, tune_offset %.0f Hz, sample_rate %.0f Hz\n", i, cfg->tx_gain[i], cfg->rx_gain[i], cfg->tx_freq[i], cfg->rx_freq[i], - cfg->tune_offset); + cfg->tune_offset, + cfg->sample_rate); } } diff --git a/openair1/PHY/INIT/nr_parms.c b/openair1/PHY/INIT/nr_parms.c index aef01413eeece7ffcd607e45d4530c8083d5d505..b3613c9d627885ac5262742fb10de2278fdb264d 100644 --- a/openair1/PHY/INIT/nr_parms.c +++ b/openair1/PHY/INIT/nr_parms.c @@ -193,8 +193,8 @@ void set_scs_parameters (NR_DL_FRAME_PARMS *fp, int mu, int N_RB_DL) fp->first_carrier_offset = fp->ofdm_symbol_size - (N_RB_DL * 12 / 2); fp->nb_prefix_samples = fp->ofdm_symbol_size / 128 * 9; fp->nb_prefix_samples0 = fp->ofdm_symbol_size / 128 * (9 + (1 << mu)); - LOG_I(PHY,"Init: N_RB_DL %d, first_carrier_offset %d, nb_prefix_samples %d,nb_prefix_samples0 %d\n", - N_RB_DL,fp->first_carrier_offset,fp->nb_prefix_samples,fp->nb_prefix_samples0); + LOG_W(PHY,"Init: N_RB_DL %d, first_carrier_offset %d, nb_prefix_samples %d,nb_prefix_samples0 %d, ofdm_symbol_size %d\n", + N_RB_DL,fp->first_carrier_offset,fp->nb_prefix_samples,fp->nb_prefix_samples0, fp->ofdm_symbol_size); } uint32_t get_samples_per_slot(int slot, NR_DL_FRAME_PARMS* fp) @@ -417,6 +417,8 @@ void nr_init_frame_parms_ue_sa(NR_DL_FRAME_PARMS *frame_parms, uint64_t downlink frame_parms->get_samples_slot_timestamp = &get_samples_slot_timestamp; frame_parms->samples_per_frame = 10 * frame_parms->samples_per_subframe; + LOG_W(PHY, "samples_per_subframe %d/per second %d, wCP %d\n", frame_parms->samples_per_subframe, 1000*frame_parms->samples_per_subframe, frame_parms->samples_per_subframe_wCP); + } diff --git a/openair1/PHY/NR_UE_TRANSPORT/pss_nr.c b/openair1/PHY/NR_UE_TRANSPORT/pss_nr.c index e73671823704f40afabc7a18c42c59b212099f08..14e4acdbbf7b1f97578eb0262d9e6d074cdf0465 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/pss_nr.c +++ b/openair1/PHY/NR_UE_TRANSPORT/pss_nr.c @@ -661,7 +661,6 @@ int pss_search_time_nr(int **rxdata, ///rx data in time domain { unsigned int n, ar, peak_position, pss_source; int64_t peak_value; - int64_t result; int64_t avg[NUMBER_PSS_SEQUENCE]={0}; double ffo_est=0; @@ -704,11 +703,13 @@ int pss_search_time_nr(int **rxdata, ///rx data in time domain for (ar=0; ar<frame_parms->nb_antennas_rx; ar++) { /* perform correlation of rx data and pss sequence ie it is a dot product */ - result = dot_product64((short*)primary_synchro_time_nr[pss_index], - (short*)&(rxdata[ar][n+is*frame_parms->samples_per_frame]), - frame_parms->ofdm_symbol_size, - shift); - pss_corr_ue += squaredMod(*(c32_t*)&result); + const int64_t result = dot_product64((short *)primary_synchro_time_nr[pss_index], + (short *)&(rxdata[ar][n + is * frame_parms->samples_per_frame]), + frame_parms->ofdm_symbol_size, + shift); + const c32_t r32 = *(c32_t*)&result; + const c64_t r64 = {.r = r32.r, .i = r32.i}; + pss_corr_ue += squaredMod(r64); //((short*)pss_corr_ue[pss_index])[2*n] += ((short*) &result)[0]; /* real part */ //((short*)pss_corr_ue[pss_index])[2*n+1] += ((short*) &result)[1]; /* imaginary part */ //((short*)&synchro_out)[0] += ((int*) &result)[0]; /* real part */ diff --git a/openair1/PHY/defs_nr_UE.h b/openair1/PHY/defs_nr_UE.h index 6febce47066d9096934f835d284f0516fd447258..bbe2a1dfcdbc551edf185a4de367b7263e60722b 100644 --- a/openair1/PHY/defs_nr_UE.h +++ b/openair1/PHY/defs_nr_UE.h @@ -642,6 +642,7 @@ typedef struct NR_UL_TIME_ALIGNMENT { char ta_slot; /// TA command and TAGID received from the gNB uint16_t ta_command; + uint32_t ta_total; uint8_t tag_id; } NR_UL_TIME_ALIGNMENT_t; diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_1.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_1.mat deleted file mode 100644 index 67fb18cd2592422e59d25ac5ed76816173898127..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_1.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_2.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_2.mat deleted file mode 100644 index 8832c0c99366da1c953bc7738677990531619a33..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_2.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_3.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_3.mat deleted file mode 100644 index 5d2e714e4cbc159f2eba917faba2c09b0caf24f5..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_3.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_4.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_4.mat deleted file mode 100644 index ad1007ae6371a1509f573e4fdd5d9b9c985df02e..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_4.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_5.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_5.mat deleted file mode 100644 index 1b0569bee2c3a51130c3b1413fa023e649df4168..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_16_noMF_lte_Mode5_5.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_1.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_1.mat deleted file mode 100644 index 023db006a6b29f5333723063547a58cce1ed1a39..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_1.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_2.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_2.mat deleted file mode 100644 index 06a6707c06d4ea2cd46a0ac583fb8c1217e53c08..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_2.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_3.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_3.mat deleted file mode 100644 index 24ede004962d1a2a19c3cf99bee4354f2f619f73..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_3.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_4.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_4.mat deleted file mode 100644 index 1b3580926003f88236fecf3417b692569caa088e..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_4.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_5.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_5.mat deleted file mode 100644 index 88ac8342928d0535a672eb470750ce395140b62e..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/16_4_noMF_lte_Mode5_5.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_1.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_1.mat deleted file mode 100644 index 2659a204e32128f4d89d77fa871bfb5aa46cc75d..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_1.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_2.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_2.mat deleted file mode 100644 index 88ff9bda6259bdd34f72136815115fd68ef63455..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_2.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_3.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_3.mat deleted file mode 100644 index 3c55211b7f8ed356d986fbd20aea27962445bcb9..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_3.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_4.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_4.mat deleted file mode 100644 index 668ef8b53c3ae866e878760f2f589668acc0f1c0..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_4.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_5.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_5.mat deleted file mode 100644 index 2e29cf19317b6fc11c8193a465db2d1624cdb4a1..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/4_16_noMF_lte_Mode5_5.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_1.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_1.mat deleted file mode 100644 index 4b05e699f1e69e10ae375e710f04c6281d3bf155..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_1.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_2.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_2.mat deleted file mode 100644 index f9b4d15089d6292f7a59915b49b8b9860cc2e6e8..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_2.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_3.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_3.mat deleted file mode 100644 index 796cc1cfaf3c14eeb552b90947c458db682a16a4..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_3.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_4.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_4.mat deleted file mode 100644 index 9aa2c878192390e14327c128c8e291771ed5fef7..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_4.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_5.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_5.mat deleted file mode 100644 index 657854037eb6dab2e6288e953bdaab1b4f1cddfd..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/QPSK_QPSK_noMF_lte_Mode5_5.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_16_16.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_16_16.mat deleted file mode 100644 index 743736618cca6b80706947a506e1a99dc1678fac..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_16_16.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_4_4_morerealizations.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_4_4_morerealizations.mat deleted file mode 100644 index 33bfce1a0d6ff6720f28fad143964911874e48a8..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/data_mode5_4_4_morerealizations.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_16Qam.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_16Qam.mat deleted file mode 100644 index 6ae95d10ef8249b1fd4be2b7292039e89b2d6221..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_16Qam.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_4Qam.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_4Qam.mat deleted file mode 100644 index 0f9e0ec29d9af8d71997b2d70cbc1a688217295d..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_4Qam.mat and /dev/null differ diff --git a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_64Qam.mat b/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_64Qam.mat deleted file mode 100644 index b7d61b913efb0bc4dc93553b3f4b190937059f29..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/LTE_PHY/Abstraction/matFiles/siso_MI_abs_64Qam.mat and /dev/null differ diff --git a/openair1/SIMULATION/NR_PHY/ulsim.c b/openair1/SIMULATION/NR_PHY/ulsim.c index dd6e30302defdbec32c8606bd33830d011372bb4..feca4c4dea113e035ab0e09b7d0d305f434f0efa 100644 --- a/openair1/SIMULATION/NR_PHY/ulsim.c +++ b/openair1/SIMULATION/NR_PHY/ulsim.c @@ -636,6 +636,7 @@ int main(int argc, char **argv) printf("-o ldpc offload flag\n"); printf("-p Use extended prefix mode\n"); printf("-q MCS table\n"); + printf("-r Number of allocated resource blocks for PUSCH\n"); printf("-u Set the numerology\n"); printf("-w Start PRB for PUSCH\n"); //printf("-x Transmission mode (1,2,6 for the moment)\n"); @@ -651,7 +652,7 @@ int main(int argc, char **argv) printf("-M Use limited buffer rate-matching\n"); printf("-N Nid_cell\n"); printf("-O oversampling factor (1,2,4,8,16)\n"); - printf("-R N_RB_DL\n"); + printf("-R Maximum number of available resorce blocks (N_RB_DL)\n"); printf("-t Acceptable effective throughput (in percentage)\n"); printf("-S Ending SNR, runs from SNR0 to SNR1\n"); printf("-P Print ULSCH performances\n"); diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeCache.txt b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeCache.txt deleted file mode 100644 index b9bfc668ed5a68b32de9a769193021062b73446a..0000000000000000000000000000000000000000 --- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeCache.txt +++ /dev/null @@ -1,313 +0,0 @@ -# This is the CMakeCache file. -# For build in directory: /home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build -# It was generated by CMake: /usr/bin/cmake -# You can edit this file to change values found and used by cmake. -# If you do not want to change any of the values, simply exit the editor. -# If you do want to change a value, simply edit, save, and exit the editor. -# The syntax for the file is as follows: -# KEY:TYPE=VALUE -# KEY is the name of a variable in the cache. -# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. -# VALUE is the current value for the KEY. - -######################## -# EXTERNAL cache entries -######################## - -//Path to a program. -CMAKE_AR:FILEPATH=/usr/bin/ar - -//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or -// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. -CMAKE_BUILD_TYPE:STRING= - -//Enable/Disable color output during build. -CMAKE_COLOR_MAKEFILE:BOOL=ON - -//CXX compiler. -CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ - -//Flags used by the compiler during all build types. -CMAKE_CXX_FLAGS:STRING= - -//Flags used by the compiler during debug builds. -CMAKE_CXX_FLAGS_DEBUG:STRING=-g - -//Flags used by the compiler during release minsize builds. -CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the compiler during release builds (/MD /Ob1 /Oi -// /Ot /Oy /Gs will produce slightly less optimized but smaller -// files). -CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the compiler during Release with Debug Info builds. -CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG - -//C compiler. -CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc - -//Flags used by the compiler during all build types. -CMAKE_C_FLAGS:STRING= - -//Flags used by the compiler during debug builds. -CMAKE_C_FLAGS_DEBUG:STRING=-g - -//Flags used by the compiler during release minsize builds. -CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the compiler during release builds (/MD /Ob1 /Oi -// /Ot /Oy /Gs will produce slightly less optimized but smaller -// files). -CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the compiler during Release with Debug Info builds. -CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG - -//Flags used by the linker. -CMAKE_EXE_LINKER_FLAGS:STRING=' ' - -//Flags used by the linker during debug builds. -CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during release minsize builds. -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during release builds. -CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during Release with Debug Info builds. -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Enable/Disable output of compile commands during generation. -CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF - -//Install path prefix, prepended onto install directories. -CMAKE_INSTALL_PREFIX:PATH=/usr/local - -//Path to a program. -CMAKE_LINKER:FILEPATH=/usr/bin/ld - -//Path to a program. -CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake - -//Flags used by the linker during the creation of modules. -CMAKE_MODULE_LINKER_FLAGS:STRING=' ' - -//Flags used by the linker during debug builds. -CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during release minsize builds. -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during release builds. -CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during Release with Debug Info builds. -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_NM:FILEPATH=/usr/bin/nm - -//Path to a program. -CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy - -//Path to a program. -CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump - -//Value Computed by CMake -CMAKE_PROJECT_NAME:STATIC=Project - -//Path to a program. -CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib - -//Flags used by the linker during the creation of dll's. -CMAKE_SHARED_LINKER_FLAGS:STRING=' ' - -//Flags used by the linker during debug builds. -CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during release minsize builds. -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during release builds. -CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during Release with Debug Info builds. -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//If set, runtime paths are not added when installing shared libraries, -// but are added when building. -CMAKE_SKIP_INSTALL_RPATH:BOOL=NO - -//If set, runtime paths are not added when using shared libraries. -CMAKE_SKIP_RPATH:BOOL=NO - -//Flags used by the linker during the creation of static libraries. -CMAKE_STATIC_LINKER_FLAGS:STRING= - -//Flags used by the linker during debug builds. -CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during release minsize builds. -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during release builds. -CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during Release with Debug Info builds. -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_STRIP:FILEPATH=/usr/bin/strip - -//If true, cmake will use relative paths in makefiles and projects. -CMAKE_USE_RELATIVE_PATHS:BOOL=OFF - -//If this value is on, makefiles will be generated without the -// .SILENT directive, and all commands will be echoed to the console -// during the make. This is useful for debugging only. With Visual -// Studio IDE projects all commands are done without /nologo. -CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE - -//Value Computed by CMake -Project_BINARY_DIR:STATIC=/home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build - -//Value Computed by CMake -Project_SOURCE_DIR:STATIC=/home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build - - -######################## -# INTERNAL cache entries -######################## - -//ADVANCED property for variable: CMAKE_AR -CMAKE_AR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_BUILD_TOOL -CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 -//What is the target build tool cmake is generating for. -CMAKE_BUILD_TOOL:INTERNAL=/usr/bin/gmake -//This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build -//Major version of cmake used to create the current loaded cache -CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 -//Minor version of cmake used to create the current loaded cache -CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 -//Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=12 -//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE -CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 -//Path to CMake executable. -CMAKE_COMMAND:INTERNAL=/usr/bin/cmake -//Path to cpack program executable. -CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack -//Path to ctest program executable. -CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest -//ADVANCED property for variable: CMAKE_CXX_COMPILER -CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS -CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG -CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL -CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE -CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO -CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER -CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS -CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG -CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL -CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE -CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO -CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//Path to cache edit program executable. -CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake -//Executable file format -CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS -CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG -CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE -CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS -CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 -//Name of generator. -CMAKE_GENERATOR:INTERNAL=Unix Makefiles -//Name of generator toolset. -CMAKE_GENERATOR_TOOLSET:INTERNAL= -//Start directory with the top level CMakeLists.txt file for this -// project -CMAKE_HOME_DIRECTORY:INTERNAL=/home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build -//Install .so files without execute permission. -CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 -//ADVANCED property for variable: CMAKE_LINKER -CMAKE_LINKER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MAKE_PROGRAM -CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS -CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG -CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE -CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_NM -CMAKE_NM-ADVANCED:INTERNAL=1 -//number of local generators -CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJCOPY -CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJDUMP -CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_RANLIB -CMAKE_RANLIB-ADVANCED:INTERNAL=1 -//Path to CMake installation. -CMAKE_ROOT:INTERNAL=/usr/share/cmake -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS -CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG -CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE -CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH -CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_RPATH -CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS -CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG -CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE -CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STRIP -CMAKE_STRIP-ADVANCED:INTERNAL=1 -//uname command -CMAKE_UNAME:INTERNAL=/usr/bin/uname -//ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS -CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE -CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 - diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CMakeCCompiler.cmake b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CMakeCCompiler.cmake deleted file mode 100644 index 20619f82ead880156a51351cca69ed411e21b57b..0000000000000000000000000000000000000000 --- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CMakeCCompiler.cmake +++ /dev/null @@ -1,56 +0,0 @@ -set(CMAKE_C_COMPILER "/usr/bin/cc") -set(CMAKE_C_COMPILER_ARG1 "") -set(CMAKE_C_COMPILER_ID "GNU") -set(CMAKE_C_COMPILER_VERSION "4.8.5") -set(CMAKE_C_PLATFORM_ID "Linux") - -set(CMAKE_AR "/usr/bin/ar") -set(CMAKE_RANLIB "/usr/bin/ranlib") -set(CMAKE_LINKER "/usr/bin/ld") -set(CMAKE_COMPILER_IS_GNUCC 1) -set(CMAKE_C_COMPILER_LOADED 1) -set(CMAKE_C_COMPILER_WORKS TRUE) -set(CMAKE_C_ABI_COMPILED TRUE) -set(CMAKE_COMPILER_IS_MINGW ) -set(CMAKE_COMPILER_IS_CYGWIN ) -if(CMAKE_COMPILER_IS_CYGWIN) - set(CYGWIN 1) - set(UNIX 1) -endif() - -set(CMAKE_C_COMPILER_ENV_VAR "CC") - -if(CMAKE_COMPILER_IS_MINGW) - set(MINGW 1) -endif() -set(CMAKE_C_COMPILER_ID_RUN 1) -set(CMAKE_C_SOURCE_FILE_EXTENSIONS c) -set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) -set(CMAKE_C_LINKER_PREFERENCE 10) - -# Save compiler ABI information. -set(CMAKE_C_SIZEOF_DATA_PTR "8") -set(CMAKE_C_COMPILER_ABI "ELF") -set(CMAKE_C_LIBRARY_ARCHITECTURE "") - -if(CMAKE_C_SIZEOF_DATA_PTR) - set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") -endif() - -if(CMAKE_C_COMPILER_ABI) - set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") -endif() - -if(CMAKE_C_LIBRARY_ARCHITECTURE) - set(CMAKE_LIBRARY_ARCHITECTURE "") -endif() - - - - -set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c") -set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/usr/lib") -set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") - - - diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CMakeCXXCompiler.cmake b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CMakeCXXCompiler.cmake deleted file mode 100644 index 5ae76367c4046fb5d18baa152cf5b8c29e39f2e2..0000000000000000000000000000000000000000 --- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CMakeCXXCompiler.cmake +++ /dev/null @@ -1,57 +0,0 @@ -set(CMAKE_CXX_COMPILER "/usr/bin/c++") -set(CMAKE_CXX_COMPILER_ARG1 "") -set(CMAKE_CXX_COMPILER_ID "GNU") -set(CMAKE_CXX_COMPILER_VERSION "4.8.5") -set(CMAKE_CXX_PLATFORM_ID "Linux") - -set(CMAKE_AR "/usr/bin/ar") -set(CMAKE_RANLIB "/usr/bin/ranlib") -set(CMAKE_LINKER "/usr/bin/ld") -set(CMAKE_COMPILER_IS_GNUCXX 1) -set(CMAKE_CXX_COMPILER_LOADED 1) -set(CMAKE_CXX_COMPILER_WORKS TRUE) -set(CMAKE_CXX_ABI_COMPILED TRUE) -set(CMAKE_COMPILER_IS_MINGW ) -set(CMAKE_COMPILER_IS_CYGWIN ) -if(CMAKE_COMPILER_IS_CYGWIN) - set(CYGWIN 1) - set(UNIX 1) -endif() - -set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") - -if(CMAKE_COMPILER_IS_MINGW) - set(MINGW 1) -endif() -set(CMAKE_CXX_COMPILER_ID_RUN 1) -set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) -set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP) -set(CMAKE_CXX_LINKER_PREFERENCE 30) -set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) - -# Save compiler ABI information. -set(CMAKE_CXX_SIZEOF_DATA_PTR "8") -set(CMAKE_CXX_COMPILER_ABI "ELF") -set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") - -if(CMAKE_CXX_SIZEOF_DATA_PTR) - set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") -endif() - -if(CMAKE_CXX_COMPILER_ABI) - set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") -endif() - -if(CMAKE_CXX_LIBRARY_ARCHITECTURE) - set(CMAKE_LIBRARY_ARCHITECTURE "") -endif() - - - - -set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;c") -set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/usr/lib") -set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") - - - diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_C.bin b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_C.bin deleted file mode 100755 index db27e43a893d3972ef50962e2f14ebc0bfcc4215..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_C.bin and /dev/null differ diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_CXX.bin b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_CXX.bin deleted file mode 100755 index edbf852aaf9f3b4dd83d1265da0c8264729e0437..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CMakeDetermineCompilerABI_CXX.bin and /dev/null differ diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CMakeSystem.cmake b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CMakeSystem.cmake deleted file mode 100644 index 3980da44fcc0f451de31e72d6465ee5d67d4fdf9..0000000000000000000000000000000000000000 --- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CMakeSystem.cmake +++ /dev/null @@ -1,15 +0,0 @@ -set(CMAKE_HOST_SYSTEM "Linux-3.10.0-957.21.3.rt56.935.el7.x86_64") -set(CMAKE_HOST_SYSTEM_NAME "Linux") -set(CMAKE_HOST_SYSTEM_VERSION "3.10.0-957.21.3.rt56.935.el7.x86_64") -set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") - - - -set(CMAKE_SYSTEM "Linux-3.10.0-957.21.3.rt56.935.el7.x86_64") -set(CMAKE_SYSTEM_NAME "Linux") -set(CMAKE_SYSTEM_VERSION "3.10.0-957.21.3.rt56.935.el7.x86_64") -set(CMAKE_SYSTEM_PROCESSOR "x86_64") - -set(CMAKE_CROSSCOMPILING "FALSE") - -set(CMAKE_SYSTEM_LOADED 1) diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CompilerIdC/CMakeCCompilerId.c b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CompilerIdC/CMakeCCompilerId.c deleted file mode 100644 index cba81d4a6b5cc36ccdf8b4548036436087b6da7d..0000000000000000000000000000000000000000 --- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CompilerIdC/CMakeCCompilerId.c +++ /dev/null @@ -1,389 +0,0 @@ -#ifdef __cplusplus -# error "A C++ compiler has been selected for C." -#endif - -/* Version number components: V=Version, R=Revision, P=Patch - Version date components: YYYY=Year, MM=Month, DD=Day */ - -#if defined(__18CXX) -# define ID_VOID_MAIN -#endif - -#if defined(__INTEL_COMPILER) || defined(__ICC) -# define COMPILER_ID "Intel" - /* __INTEL_COMPILER = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) -# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) -# if defined(__INTEL_COMPILER_BUILD_DATE) - /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ -# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) -# endif - -#elif defined(__PATHCC__) -# define COMPILER_ID "PathScale" -# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) -# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) -# if defined(__PATHCC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) -# endif - -#elif defined(__clang__) -# define COMPILER_ID "Clang" -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) - -#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) -# define COMPILER_ID "Embarcadero" -# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) -# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) -# define COMPILER_VERSION_PATCH HEX(__CODEGEARC_VERSION__ & 0xFFFF) - -#elif defined(__BORLANDC__) -# define COMPILER_ID "Borland" - /* __BORLANDC__ = 0xVRR */ -# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) -# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) - -#elif defined(__WATCOMC__) -# define COMPILER_ID "Watcom" - /* __WATCOMC__ = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) -# define COMPILER_VERSION_MINOR DEC(__WATCOMC__ % 100) - -#elif defined(__SUNPRO_C) -# define COMPILER_ID "SunPro" -# if __SUNPRO_C >= 0x5100 - /* __SUNPRO_C = 0xVRRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) -# else - /* __SUNPRO_C = 0xVRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) -# endif - -#elif defined(__HP_cc) -# define COMPILER_ID "HP" - /* __HP_cc = VVRRPP */ -# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) -# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) -# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) - -#elif defined(__DECC) -# define COMPILER_ID "Compaq" - /* __DECC_VER = VVRRTPPPP */ -# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) -# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) -# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) - -#elif defined(__IBMC__) -# if defined(__COMPILER_VER__) -# define COMPILER_ID "zOS" -# else -# if __IBMC__ >= 800 -# define COMPILER_ID "XL" -# else -# define COMPILER_ID "VisualAge" -# endif - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) -# endif - -#elif defined(__PGI) -# define COMPILER_ID "PGI" -# define COMPILER_VERSION_MAJOR DEC(__PGIC__) -# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) -# if defined(__PGIC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) -# endif - -#elif defined(_CRAYC) -# define COMPILER_ID "Cray" -# define COMPILER_VERSION_MAJOR DEC(_RELEASE) -# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) - -#elif defined(__TI_COMPILER_VERSION__) -# define COMPILER_ID "TI" - /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ -# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) -# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) -# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) - -#elif defined(__TINYC__) -# define COMPILER_ID "TinyCC" - -#elif defined(__SCO_VERSION__) -# define COMPILER_ID "SCO" - -#elif defined(__GNUC__) -# define COMPILER_ID "GNU" -# define COMPILER_VERSION_MAJOR DEC(__GNUC__) -# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) -# if defined(__GNUC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif defined(_MSC_VER) -# define COMPILER_ID "MSVC" - /* _MSC_VER = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) -# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) -# if defined(_MSC_FULL_VER) -# if _MSC_VER >= 1400 - /* _MSC_FULL_VER = VVRRPPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) -# else - /* _MSC_FULL_VER = VVRRPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) -# endif -# endif -# if defined(_MSC_BUILD) -# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) -# endif - -/* Analog VisualDSP++ >= 4.5.6 */ -#elif defined(__VISUALDSPVERSION__) -# define COMPILER_ID "ADSP" - /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ -# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) -# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) - -/* Analog VisualDSP++ < 4.5.6 */ -#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) -# define COMPILER_ID "ADSP" - -/* IAR Systems compiler for embedded systems. - http://www.iar.com */ -#elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC) -# define COMPILER_ID "IAR" - -/* sdcc, the small devices C compiler for embedded systems, - http://sdcc.sourceforge.net */ -#elif defined(SDCC) -# define COMPILER_ID "SDCC" - /* SDCC = VRP */ -# define COMPILER_VERSION_MAJOR DEC(SDCC/100) -# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) -# define COMPILER_VERSION_PATCH DEC(SDCC % 10) - -#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) -# define COMPILER_ID "MIPSpro" -# if defined(_SGI_COMPILER_VERSION) - /* _SGI_COMPILER_VERSION = VRP */ -# define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100) -# define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10) -# define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10) -# else - /* _COMPILER_VERSION = VRP */ -# define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100) -# define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10) -# define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10) -# endif - -/* This compiler is either not known or is too old to define an - identification macro. Try to identify the platform and guess that - it is the native compiler. */ -#elif defined(__sgi) -# define COMPILER_ID "MIPSpro" - -#elif defined(__hpux) || defined(__hpua) -# define COMPILER_ID "HP" - -#else /* unknown compiler */ -# define COMPILER_ID "" - -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; - -/* Identify known platforms by name. */ -#if defined(__linux) || defined(__linux__) || defined(linux) -# define PLATFORM_ID "Linux" - -#elif defined(__CYGWIN__) -# define PLATFORM_ID "Cygwin" - -#elif defined(__MINGW32__) -# define PLATFORM_ID "MinGW" - -#elif defined(__APPLE__) -# define PLATFORM_ID "Darwin" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -# define PLATFORM_ID "Windows" - -#elif defined(__FreeBSD__) || defined(__FreeBSD) -# define PLATFORM_ID "FreeBSD" - -#elif defined(__NetBSD__) || defined(__NetBSD) -# define PLATFORM_ID "NetBSD" - -#elif defined(__OpenBSD__) || defined(__OPENBSD) -# define PLATFORM_ID "OpenBSD" - -#elif defined(__sun) || defined(sun) -# define PLATFORM_ID "SunOS" - -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) -# define PLATFORM_ID "AIX" - -#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) -# define PLATFORM_ID "IRIX" - -#elif defined(__hpux) || defined(__hpux__) -# define PLATFORM_ID "HP-UX" - -#elif defined(__HAIKU__) -# define PLATFORM_ID "Haiku" - -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) -# define PLATFORM_ID "BeOS" - -#elif defined(__QNX__) || defined(__QNXNTO__) -# define PLATFORM_ID "QNX" - -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) -# define PLATFORM_ID "Tru64" - -#elif defined(__riscos) || defined(__riscos__) -# define PLATFORM_ID "RISCos" - -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) -# define PLATFORM_ID "SINIX" - -#elif defined(__UNIX_SV__) -# define PLATFORM_ID "UNIX_SV" - -#elif defined(__bsdos__) -# define PLATFORM_ID "BSDOS" - -#elif defined(_MPRAS) || defined(MPRAS) -# define PLATFORM_ID "MP-RAS" - -#elif defined(__osf) || defined(__osf__) -# define PLATFORM_ID "OSF1" - -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) -# define PLATFORM_ID "SCO_SV" - -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) -# define PLATFORM_ID "ULTRIX" - -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) -# define PLATFORM_ID "Xenix" - -#else /* unknown platform */ -# define PLATFORM_ID "" - -#endif - -/* For windows compilers MSVC and Intel we can determine - the architecture of the compiler being used. This is because - the compilers do not have flags that can change the architecture, - but rather depend on which compiler is being used -*/ -#if defined(_WIN32) && defined(_MSC_VER) -# if defined(_M_IA64) -# define ARCHITECTURE_ID "IA64" - -# elif defined(_M_X64) || defined(_M_AMD64) -# define ARCHITECTURE_ID "x64" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# elif defined(_M_ARM) -# define ARCHITECTURE_ID "ARM" - -# elif defined(_M_MIPS) -# define ARCHITECTURE_ID "MIPS" - -# elif defined(_M_SH) -# define ARCHITECTURE_ID "SHx" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#else -# define ARCHITECTURE_ID "" -#endif - -/* Convert integer to decimal digit literals. */ -#define DEC(n) \ - ('0' + (((n) / 10000000)%10)), \ - ('0' + (((n) / 1000000)%10)), \ - ('0' + (((n) / 100000)%10)), \ - ('0' + (((n) / 10000)%10)), \ - ('0' + (((n) / 1000)%10)), \ - ('0' + (((n) / 100)%10)), \ - ('0' + (((n) / 10)%10)), \ - ('0' + ((n) % 10)) - -/* Convert integer to hex digit literals. */ -#define HEX(n) \ - ('0' + ((n)>>28 & 0xF)), \ - ('0' + ((n)>>24 & 0xF)), \ - ('0' + ((n)>>20 & 0xF)), \ - ('0' + ((n)>>16 & 0xF)), \ - ('0' + ((n)>>12 & 0xF)), \ - ('0' + ((n)>>8 & 0xF)), \ - ('0' + ((n)>>4 & 0xF)), \ - ('0' + ((n) & 0xF)) - -/* Construct a string literal encoding the version number components. */ -#ifdef COMPILER_VERSION_MAJOR -char const info_version[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', - COMPILER_VERSION_MAJOR, -# ifdef COMPILER_VERSION_MINOR - '.', COMPILER_VERSION_MINOR, -# ifdef COMPILER_VERSION_PATCH - '.', COMPILER_VERSION_PATCH, -# ifdef COMPILER_VERSION_TWEAK - '.', COMPILER_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; -char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; - - - -/*--------------------------------------------------------------------------*/ - -#ifdef ID_VOID_MAIN -void main() {} -#else -int main(int argc, char* argv[]) -{ - int require = 0; - require += info_compiler[argc]; - require += info_platform[argc]; - require += info_arch[argc]; -#ifdef COMPILER_VERSION_MAJOR - require += info_version[argc]; -#endif - (void)argv; - return require; -} -#endif diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CompilerIdC/a.out b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CompilerIdC/a.out deleted file mode 100755 index a13b3e1e728a1fd34cf225e49ce4edc30866eab3..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CompilerIdC/a.out and /dev/null differ diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CompilerIdCXX/CMakeCXXCompilerId.cpp b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CompilerIdCXX/CMakeCXXCompilerId.cpp deleted file mode 100644 index e8220b26e508ad8289ae53743d2ffa316c17237f..0000000000000000000000000000000000000000 --- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CompilerIdCXX/CMakeCXXCompilerId.cpp +++ /dev/null @@ -1,377 +0,0 @@ -/* This source file must have a .cpp extension so that all C++ compilers - recognize the extension without flags. Borland does not know .cxx for - example. */ -#ifndef __cplusplus -# error "A C compiler has been selected for C++." -#endif - -/* Version number components: V=Version, R=Revision, P=Patch - Version date components: YYYY=Year, MM=Month, DD=Day */ - -#if defined(__COMO__) -# define COMPILER_ID "Comeau" - /* __COMO_VERSION__ = VRR */ -# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) -# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) - -#elif defined(__INTEL_COMPILER) || defined(__ICC) -# define COMPILER_ID "Intel" - /* __INTEL_COMPILER = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) -# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) -# if defined(__INTEL_COMPILER_BUILD_DATE) - /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ -# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) -# endif - -#elif defined(__PATHCC__) -# define COMPILER_ID "PathScale" -# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) -# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) -# if defined(__PATHCC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) -# endif - -#elif defined(__clang__) -# define COMPILER_ID "Clang" -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) - -#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) -# define COMPILER_ID "Embarcadero" -# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) -# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) -# define COMPILER_VERSION_PATCH HEX(__CODEGEARC_VERSION__ & 0xFFFF) - -#elif defined(__BORLANDC__) -# define COMPILER_ID "Borland" - /* __BORLANDC__ = 0xVRR */ -# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) -# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) - -#elif defined(__WATCOMC__) -# define COMPILER_ID "Watcom" - /* __WATCOMC__ = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) -# define COMPILER_VERSION_MINOR DEC(__WATCOMC__ % 100) - -#elif defined(__SUNPRO_CC) -# define COMPILER_ID "SunPro" -# if __SUNPRO_CC >= 0x5100 - /* __SUNPRO_CC = 0xVRRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) -# else - /* __SUNPRO_CC = 0xVRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) -# endif - -#elif defined(__HP_aCC) -# define COMPILER_ID "HP" - /* __HP_aCC = VVRRPP */ -# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) -# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) -# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) - -#elif defined(__DECCXX) -# define COMPILER_ID "Compaq" - /* __DECCXX_VER = VVRRTPPPP */ -# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) -# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) -# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) - -#elif defined(__IBMCPP__) -# if defined(__COMPILER_VER__) -# define COMPILER_ID "zOS" -# else -# if __IBMCPP__ >= 800 -# define COMPILER_ID "XL" -# else -# define COMPILER_ID "VisualAge" -# endif - /* __IBMCPP__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) -# endif - -#elif defined(__PGI) -# define COMPILER_ID "PGI" -# define COMPILER_VERSION_MAJOR DEC(__PGIC__) -# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) -# if defined(__PGIC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) -# endif - -#elif defined(_CRAYC) -# define COMPILER_ID "Cray" -# define COMPILER_VERSION_MAJOR DEC(_RELEASE) -# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) - -#elif defined(__TI_COMPILER_VERSION__) -# define COMPILER_ID "TI" - /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ -# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) -# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) -# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) - -#elif defined(__SCO_VERSION__) -# define COMPILER_ID "SCO" - -#elif defined(__GNUC__) -# define COMPILER_ID "GNU" -# define COMPILER_VERSION_MAJOR DEC(__GNUC__) -# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) -# if defined(__GNUC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif defined(_MSC_VER) -# define COMPILER_ID "MSVC" - /* _MSC_VER = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) -# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) -# if defined(_MSC_FULL_VER) -# if _MSC_VER >= 1400 - /* _MSC_FULL_VER = VVRRPPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) -# else - /* _MSC_FULL_VER = VVRRPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) -# endif -# endif -# if defined(_MSC_BUILD) -# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) -# endif - -/* Analog VisualDSP++ >= 4.5.6 */ -#elif defined(__VISUALDSPVERSION__) -# define COMPILER_ID "ADSP" - /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ -# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) -# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) - -/* Analog VisualDSP++ < 4.5.6 */ -#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) -# define COMPILER_ID "ADSP" - -/* IAR Systems compiler for embedded systems. - http://www.iar.com */ -#elif defined(__IAR_SYSTEMS_ICC__ ) || defined(__IAR_SYSTEMS_ICC) -# define COMPILER_ID "IAR" - -#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) -# define COMPILER_ID "MIPSpro" -# if defined(_SGI_COMPILER_VERSION) - /* _SGI_COMPILER_VERSION = VRP */ -# define COMPILER_VERSION_MAJOR DEC(_SGI_COMPILER_VERSION/100) -# define COMPILER_VERSION_MINOR DEC(_SGI_COMPILER_VERSION/10 % 10) -# define COMPILER_VERSION_PATCH DEC(_SGI_COMPILER_VERSION % 10) -# else - /* _COMPILER_VERSION = VRP */ -# define COMPILER_VERSION_MAJOR DEC(_COMPILER_VERSION/100) -# define COMPILER_VERSION_MINOR DEC(_COMPILER_VERSION/10 % 10) -# define COMPILER_VERSION_PATCH DEC(_COMPILER_VERSION % 10) -# endif - -/* This compiler is either not known or is too old to define an - identification macro. Try to identify the platform and guess that - it is the native compiler. */ -#elif defined(__sgi) -# define COMPILER_ID "MIPSpro" - -#elif defined(__hpux) || defined(__hpua) -# define COMPILER_ID "HP" - -#else /* unknown compiler */ -# define COMPILER_ID "" - -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; - -/* Identify known platforms by name. */ -#if defined(__linux) || defined(__linux__) || defined(linux) -# define PLATFORM_ID "Linux" - -#elif defined(__CYGWIN__) -# define PLATFORM_ID "Cygwin" - -#elif defined(__MINGW32__) -# define PLATFORM_ID "MinGW" - -#elif defined(__APPLE__) -# define PLATFORM_ID "Darwin" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -# define PLATFORM_ID "Windows" - -#elif defined(__FreeBSD__) || defined(__FreeBSD) -# define PLATFORM_ID "FreeBSD" - -#elif defined(__NetBSD__) || defined(__NetBSD) -# define PLATFORM_ID "NetBSD" - -#elif defined(__OpenBSD__) || defined(__OPENBSD) -# define PLATFORM_ID "OpenBSD" - -#elif defined(__sun) || defined(sun) -# define PLATFORM_ID "SunOS" - -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) -# define PLATFORM_ID "AIX" - -#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) -# define PLATFORM_ID "IRIX" - -#elif defined(__hpux) || defined(__hpux__) -# define PLATFORM_ID "HP-UX" - -#elif defined(__HAIKU__) -# define PLATFORM_ID "Haiku" - -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) -# define PLATFORM_ID "BeOS" - -#elif defined(__QNX__) || defined(__QNXNTO__) -# define PLATFORM_ID "QNX" - -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) -# define PLATFORM_ID "Tru64" - -#elif defined(__riscos) || defined(__riscos__) -# define PLATFORM_ID "RISCos" - -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) -# define PLATFORM_ID "SINIX" - -#elif defined(__UNIX_SV__) -# define PLATFORM_ID "UNIX_SV" - -#elif defined(__bsdos__) -# define PLATFORM_ID "BSDOS" - -#elif defined(_MPRAS) || defined(MPRAS) -# define PLATFORM_ID "MP-RAS" - -#elif defined(__osf) || defined(__osf__) -# define PLATFORM_ID "OSF1" - -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) -# define PLATFORM_ID "SCO_SV" - -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) -# define PLATFORM_ID "ULTRIX" - -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) -# define PLATFORM_ID "Xenix" - -#else /* unknown platform */ -# define PLATFORM_ID "" - -#endif - -/* For windows compilers MSVC and Intel we can determine - the architecture of the compiler being used. This is because - the compilers do not have flags that can change the architecture, - but rather depend on which compiler is being used -*/ -#if defined(_WIN32) && defined(_MSC_VER) -# if defined(_M_IA64) -# define ARCHITECTURE_ID "IA64" - -# elif defined(_M_X64) || defined(_M_AMD64) -# define ARCHITECTURE_ID "x64" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# elif defined(_M_ARM) -# define ARCHITECTURE_ID "ARM" - -# elif defined(_M_MIPS) -# define ARCHITECTURE_ID "MIPS" - -# elif defined(_M_SH) -# define ARCHITECTURE_ID "SHx" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#else -# define ARCHITECTURE_ID "" -#endif - -/* Convert integer to decimal digit literals. */ -#define DEC(n) \ - ('0' + (((n) / 10000000)%10)), \ - ('0' + (((n) / 1000000)%10)), \ - ('0' + (((n) / 100000)%10)), \ - ('0' + (((n) / 10000)%10)), \ - ('0' + (((n) / 1000)%10)), \ - ('0' + (((n) / 100)%10)), \ - ('0' + (((n) / 10)%10)), \ - ('0' + ((n) % 10)) - -/* Convert integer to hex digit literals. */ -#define HEX(n) \ - ('0' + ((n)>>28 & 0xF)), \ - ('0' + ((n)>>24 & 0xF)), \ - ('0' + ((n)>>20 & 0xF)), \ - ('0' + ((n)>>16 & 0xF)), \ - ('0' + ((n)>>12 & 0xF)), \ - ('0' + ((n)>>8 & 0xF)), \ - ('0' + ((n)>>4 & 0xF)), \ - ('0' + ((n) & 0xF)) - -/* Construct a string literal encoding the version number components. */ -#ifdef COMPILER_VERSION_MAJOR -char const info_version[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', - COMPILER_VERSION_MAJOR, -# ifdef COMPILER_VERSION_MINOR - '.', COMPILER_VERSION_MINOR, -# ifdef COMPILER_VERSION_PATCH - '.', COMPILER_VERSION_PATCH, -# ifdef COMPILER_VERSION_TWEAK - '.', COMPILER_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; -char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; - - - -/*--------------------------------------------------------------------------*/ - -int main(int argc, char* argv[]) -{ - int require = 0; - require += info_compiler[argc]; - require += info_platform[argc]; -#ifdef COMPILER_VERSION_MAJOR - require += info_version[argc]; -#endif - (void)argv; - return require; -} diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out deleted file mode 100755 index 7634d1e447d96093b8e2714fbd8fb1b7baa34ed5..0000000000000000000000000000000000000000 Binary files a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out and /dev/null differ diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeOutput.log b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeOutput.log deleted file mode 100644 index c922ff62300d2fc9dc097188799c0351b531e3eb..0000000000000000000000000000000000000000 --- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeOutput.log +++ /dev/null @@ -1,247 +0,0 @@ -The system is: Linux - 3.10.0-957.21.3.rt56.935.el7.x86_64 - x86_64 -Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. -Compiler: /usr/bin/cc -Build flags: -Id flags: - -The output was: -0 - - -Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" - -The C compiler identification is GNU, found in "/home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CompilerIdC/a.out" - -Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. -Compiler: /usr/bin/c++ -Build flags: -Id flags: - -The output was: -0 - - -Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" - -The CXX compiler identification is GNU, found in "/home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/2.8.12.2/CompilerIdCXX/a.out" - -Determining if the C compiler works passed with the following output: -Change Dir: /home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp - -Run Build Command:/usr/bin/gmake "cmTryCompileExec2388936454/fast" -/usr/bin/gmake -f CMakeFiles/cmTryCompileExec2388936454.dir/build.make CMakeFiles/cmTryCompileExec2388936454.dir/build -gmake[1]: Entering directory `/home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp' -/usr/bin/cmake -E cmake_progress_report /home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp/CMakeFiles 1 -Building C object CMakeFiles/cmTryCompileExec2388936454.dir/testCCompiler.c.o -/usr/bin/cc -o CMakeFiles/cmTryCompileExec2388936454.dir/testCCompiler.c.o -c /home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp/testCCompiler.c -Linking C executable cmTryCompileExec2388936454 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec2388936454.dir/link.txt --verbose=1 -/usr/bin/cc CMakeFiles/cmTryCompileExec2388936454.dir/testCCompiler.c.o -o cmTryCompileExec2388936454 -rdynamic -gmake[1]: Leaving directory `/home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp' - - -Detecting C compiler ABI info compiled with the following output: -Change Dir: /home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp - -Run Build Command:/usr/bin/gmake "cmTryCompileExec602265197/fast" -/usr/bin/gmake -f CMakeFiles/cmTryCompileExec602265197.dir/build.make CMakeFiles/cmTryCompileExec602265197.dir/build -gmake[1]: Entering directory `/home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp' -/usr/bin/cmake -E cmake_progress_report /home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp/CMakeFiles 1 -Building C object CMakeFiles/cmTryCompileExec602265197.dir/CMakeCCompilerABI.c.o -/usr/bin/cc -o CMakeFiles/cmTryCompileExec602265197.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c -Linking C executable cmTryCompileExec602265197 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec602265197.dir/link.txt --verbose=1 -/usr/bin/cc -v CMakeFiles/cmTryCompileExec602265197.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec602265197 -rdynamic -Using built-in specs. -COLLECT_GCC=/usr/bin/cc -COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper -Target: x86_64-redhat-linux -Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux -Thread model: posix -gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) -COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/ -LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec602265197' '-rdynamic' '-mtune=generic' '-march=x86-64' - /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTryCompileExec602265197 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTryCompileExec602265197.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o -gmake[1]: Leaving directory `/home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp' - - -Parsed C implicit link information from above output: - link line regex: [^( *|.*[/\])(ld|([^/\]+-)?ld|collect2)[^/\]*( |$)] - ignore line: [Change Dir: /home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp] - ignore line: [] - ignore line: [Run Build Command:/usr/bin/gmake "cmTryCompileExec602265197/fast"] - ignore line: [/usr/bin/gmake -f CMakeFiles/cmTryCompileExec602265197.dir/build.make CMakeFiles/cmTryCompileExec602265197.dir/build] - ignore line: [gmake[1]: Entering directory `/home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp'] - ignore line: [/usr/bin/cmake -E cmake_progress_report /home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp/CMakeFiles 1] - ignore line: [Building C object CMakeFiles/cmTryCompileExec602265197.dir/CMakeCCompilerABI.c.o] - ignore line: [/usr/bin/cc -o CMakeFiles/cmTryCompileExec602265197.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c] - ignore line: [Linking C executable cmTryCompileExec602265197] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec602265197.dir/link.txt --verbose=1] - ignore line: [/usr/bin/cc -v CMakeFiles/cmTryCompileExec602265197.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec602265197 -rdynamic ] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/cc] - ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper] - ignore line: [Target: x86_64-redhat-linux] - ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux] - ignore line: [Thread model: posix] - ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ] - ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/] - ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec602265197' '-rdynamic' '-mtune=generic' '-march=x86-64'] - link line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTryCompileExec602265197 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTryCompileExec602265197.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] - arg [/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2] ==> ignore - arg [--build-id] ==> ignore - arg [--no-add-needed] ==> ignore - arg [--eh-frame-hdr] ==> ignore - arg [--hash-style=gnu] ==> ignore - arg [-m] ==> ignore - arg [elf_x86_64] ==> ignore - arg [-export-dynamic] ==> ignore - arg [-dynamic-linker] ==> ignore - arg [/lib64/ld-linux-x86-64.so.2] ==> ignore - arg [-o] ==> ignore - arg [cmTryCompileExec602265197] ==> ignore - arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o] ==> ignore - arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o] ==> ignore - arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o] ==> ignore - arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] - arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] - arg [-L/lib/../lib64] ==> dir [/lib/../lib64] - arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64] - arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] - arg [CMakeFiles/cmTryCompileExec602265197.dir/CMakeCCompilerABI.c.o] ==> ignore - arg [-lgcc] ==> lib [gcc] - arg [--as-needed] ==> ignore - arg [-lgcc_s] ==> lib [gcc_s] - arg [--no-as-needed] ==> ignore - arg [-lc] ==> lib [c] - arg [-lgcc] ==> lib [gcc] - arg [--as-needed] ==> ignore - arg [-lgcc_s] ==> lib [gcc_s] - arg [--no-as-needed] ==> ignore - arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o] ==> ignore - arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] ==> ignore - remove lib [gcc] - remove lib [gcc_s] - remove lib [gcc] - remove lib [gcc_s] - collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] - collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> [/usr/lib64] - collapse library dir [/lib/../lib64] ==> [/lib64] - collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64] - collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> [/usr/lib] - implicit libs: [c] - implicit dirs: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/usr/lib] - implicit fwks: [] - - -Determining if the CXX compiler works passed with the following output: -Change Dir: /home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp - -Run Build Command:/usr/bin/gmake "cmTryCompileExec3828041398/fast" -/usr/bin/gmake -f CMakeFiles/cmTryCompileExec3828041398.dir/build.make CMakeFiles/cmTryCompileExec3828041398.dir/build -gmake[1]: Entering directory `/home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp' -/usr/bin/cmake -E cmake_progress_report /home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp/CMakeFiles 1 -Building CXX object CMakeFiles/cmTryCompileExec3828041398.dir/testCXXCompiler.cxx.o -/usr/bin/c++ -o CMakeFiles/cmTryCompileExec3828041398.dir/testCXXCompiler.cxx.o -c /home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx -Linking CXX executable cmTryCompileExec3828041398 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec3828041398.dir/link.txt --verbose=1 -/usr/bin/c++ CMakeFiles/cmTryCompileExec3828041398.dir/testCXXCompiler.cxx.o -o cmTryCompileExec3828041398 -rdynamic -gmake[1]: Leaving directory `/home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp' - - -Detecting CXX compiler ABI info compiled with the following output: -Change Dir: /home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp - -Run Build Command:/usr/bin/gmake "cmTryCompileExec1700914889/fast" -/usr/bin/gmake -f CMakeFiles/cmTryCompileExec1700914889.dir/build.make CMakeFiles/cmTryCompileExec1700914889.dir/build -gmake[1]: Entering directory `/home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp' -/usr/bin/cmake -E cmake_progress_report /home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp/CMakeFiles 1 -Building CXX object CMakeFiles/cmTryCompileExec1700914889.dir/CMakeCXXCompilerABI.cpp.o -/usr/bin/c++ -o CMakeFiles/cmTryCompileExec1700914889.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp -Linking CXX executable cmTryCompileExec1700914889 -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1700914889.dir/link.txt --verbose=1 -/usr/bin/c++ -v CMakeFiles/cmTryCompileExec1700914889.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec1700914889 -rdynamic -Using built-in specs. -COLLECT_GCC=/usr/bin/c++ -COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper -Target: x86_64-redhat-linux -Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux -Thread model: posix -gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) -COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/ -LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec1700914889' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64' - /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTryCompileExec1700914889 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTryCompileExec1700914889.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o -gmake[1]: Leaving directory `/home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp' - - -Parsed CXX implicit link information from above output: - link line regex: [^( *|.*[/\])(ld|([^/\]+-)?ld|collect2)[^/\]*( |$)] - ignore line: [Change Dir: /home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp] - ignore line: [] - ignore line: [Run Build Command:/usr/bin/gmake "cmTryCompileExec1700914889/fast"] - ignore line: [/usr/bin/gmake -f CMakeFiles/cmTryCompileExec1700914889.dir/build.make CMakeFiles/cmTryCompileExec1700914889.dir/build] - ignore line: [gmake[1]: Entering directory `/home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp'] - ignore line: [/usr/bin/cmake -E cmake_progress_report /home/sy/openairinterface5g/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/CMakeTmp/CMakeFiles 1] - ignore line: [Building CXX object CMakeFiles/cmTryCompileExec1700914889.dir/CMakeCXXCompilerABI.cpp.o] - ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec1700914889.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp] - ignore line: [Linking CXX executable cmTryCompileExec1700914889] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1700914889.dir/link.txt --verbose=1] - ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec1700914889.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec1700914889 -rdynamic ] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/c++] - ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper] - ignore line: [Target: x86_64-redhat-linux] - ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux] - ignore line: [Thread model: posix] - ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ] - ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/] - ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec1700914889' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=x86-64'] - link line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -export-dynamic -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTryCompileExec1700914889 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTryCompileExec1700914889.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] - arg [/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2] ==> ignore - arg [--build-id] ==> ignore - arg [--no-add-needed] ==> ignore - arg [--eh-frame-hdr] ==> ignore - arg [--hash-style=gnu] ==> ignore - arg [-m] ==> ignore - arg [elf_x86_64] ==> ignore - arg [-export-dynamic] ==> ignore - arg [-dynamic-linker] ==> ignore - arg [/lib64/ld-linux-x86-64.so.2] ==> ignore - arg [-o] ==> ignore - arg [cmTryCompileExec1700914889] ==> ignore - arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o] ==> ignore - arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o] ==> ignore - arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o] ==> ignore - arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] - arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] - arg [-L/lib/../lib64] ==> dir [/lib/../lib64] - arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64] - arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] - arg [CMakeFiles/cmTryCompileExec1700914889.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore - arg [-lstdc++] ==> lib [stdc++] - arg [-lm] ==> lib [m] - arg [-lgcc_s] ==> lib [gcc_s] - arg [-lgcc] ==> lib [gcc] - arg [-lc] ==> lib [c] - arg [-lgcc_s] ==> lib [gcc_s] - arg [-lgcc] ==> lib [gcc] - arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o] ==> ignore - arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] ==> ignore - remove lib [gcc_s] - remove lib [gcc] - remove lib [gcc_s] - remove lib [gcc] - collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] - collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> [/usr/lib64] - collapse library dir [/lib/../lib64] ==> [/lib64] - collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64] - collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> [/usr/lib] - implicit libs: [stdc++;m;c] - implicit dirs: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/usr/lib] - implicit fwks: [] - - diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/cmake.check_cache b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/cmake.check_cache deleted file mode 100644 index 3dccd731726d7faa8b29d8d7dba3b981a53ca497..0000000000000000000000000000000000000000 --- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/CMakeFiles/cmake.check_cache +++ /dev/null @@ -1 +0,0 @@ -# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/reflogs/srs_test.txt b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/reflogs/srs_test.txt index d18e00665bb30ee7b4a2b46db919001254904fca..d42f8df510130852142160efda89ec1182370753 100644 Binary files a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/reflogs/srs_test.txt and b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/reflogs/srs_test.txt differ diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/testlogs/frame_config_test.txt b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/testlogs/frame_config_test.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/testlogs/harq_test.txt b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/testlogs/harq_test.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/testlogs/pbch_test.txt b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/testlogs/pbch_test.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/testlogs/pss_test.txt b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/testlogs/pss_test.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/testlogs/pucch_uci_test.txt b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/testlogs/pucch_uci_test.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/testlogs/srs_test.txt b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/testlogs/srs_test.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/testlogs/sss_test.txt b/openair1/SIMULATION/NR_UE_PHY/unit_tests/build/testlogs/sss_test.txt deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/input_buffer_test.h b/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/input_buffer_test.h index 05d29cb062346f2197cc8b230f3a76ad876979dd..007b366b3b711e65081814a60356c2381baab7fa 100644 --- a/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/input_buffer_test.h +++ b/openair1/SIMULATION/NR_UE_PHY/unit_tests/src/input_buffer_test.h @@ -18,307370 +18,10 @@ #undef INIT_VARIABLES_INPUT_BUFFER_H #endif +#ifndef INIT_VARIABLES_INPUT_BUFFER_H EXTERNAL short input_buffer[] -#ifdef INIT_VARIABLES_INPUT_BUFFER_H -= { - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 13 , 3 , - 48 , 7 , - 96 , 10 , - 150 , 9 , - 201 , 6 , - 239 , 2 , - 258 , 1 , - 254 , 3 , - 242 , 8 , - 229 , 16 , - 216 , 27 , - 202 , 42 , - 188 , 60 , - 173 , 80 , - 157 , 101 , - 142 , 123 , - 126 , 146 , - 110 , 168 , - 94 , 190 , - 77 , 210 , - 60 , 228 , - 43 , 244 , - 26 , 257 , - 8 , 266 , - -9 , 272 , - -27 , 274 , - -46 , 272 , - -65 , 266 , - -85 , 256 , - -104 , 243 , - -124 , 227 , - -143 , 207 , - -162 , 186 , - -180 , 163 , - -198 , 139 , - -214 , 114 , - -229 , 89 , - -242 , 66 , - -254 , 43 , - -263 , 23 , - -271 , 6 , - -277 , -8 , - -280 , -19 , - -282 , -27 , - -281 , -31 , - -279 , -31 , - -275 , -27 , - -270 , -19 , - -264 , -8 , - -257 , 5 , - -250 , 22 , - -243 , 42 , - -236 , 62 , - -230 , 84 , - -224 , 107 , - -220 , 129 , - -216 , 151 , - -214 , 171 , - -214 , 189 , - -214 , 205 , - -216 , 217 , - -219 , 226 , - -222 , 232 , - -226 , 234 , - -230 , 231 , - -233 , 224 , - -236 , 213 , - -237 , 198 , - -237 , 180 , - -235 , 157 , - -231 , 132 , - -224 , 104 , - -215 , 73 , - -203 , 41 , - -189 , 8 , - -172 , -24 , - -153 , -58 , - -133 , -90 , - -110 , -121 , - -87 , -150 , - -63 , -176 , - -40 , -200 , - -17 , -219 , - 3 , -235 , - 22 , -246 , - 39 , -252 , - 52 , -254 , - 62 , -251 , - 68 , -242 , - 71 , -229 , - 69 , -212 , - 63 , -189 , - 53 , -163 , - 40 , -133 , - 25 , -100 , - 6 , -65 , - -13 , -27 , - -34 , 10 , - -55 , 50 , - -75 , 89 , - -94 , 127 , - -110 , 164 , - -123 , 198 , - -132 , 229 , - -137 , 257 , - -137 , 281 , - -132 , 299 , - -121 , 313 , - -106 , 322 , - -85 , 325 , - -60 , 322 , - -31 , 314 , - 0 , 300 , - 35 , 281 , - 71 , 257 , - 108 , 229 , - 144 , 197 , - 178 , 162 , - 209 , 124 , - 236 , 85 , - 259 , 45 , - 276 , 4 , - 287 , -34 , - 291 , -73 , - 288 , -109 , - 278 , -142 , - 261 , -172 , - 238 , -198 , - 209 , -220 , - 175 , -236 , - 136 , -248 , - 94 , -255 , - 50 , -257 , - 5 , -255 , - -38 , -248 , - -81 , -237 , - -121 , -222 , - -157 , -205 , - -188 , -185 , - -213 , -164 , - -231 , -142 , - -242 , -120 , - -245 , -99 , - -241 , -79 , - -230 , -61 , - -212 , -45 , - -187 , -33 , - -158 , -23 , - -124 , -18 , - -86 , -16 , - -47 , -18 , - -6 , -24 , - 32 , -34 , - 70 , -46 , - 105 , -62 , - 135 , -80 , - 160 , -99 , - 179 , -120 , - 191 , -141 , - 196 , -162 , - 193 , -183 , - 183 , -201 , - 166 , -218 , - 142 , -232 , - 112 , -242 , - 76 , -250 , - 37 , -253 , - -4 , -252 , - -48 , -246 , - -92 , -236 , - -135 , -222 , - -175 , -204 , - -213 , -183 , - -245 , -157 , - -272 , -129 , - -292 , -98 , - -305 , -66 , - -311 , -32 , - -309 , 2 , - -300 , 36 , - -283 , 70 , - -259 , 103 , - -229 , 134 , - -194 , 164 , - -155 , 190 , - -112 , 214 , - -68 , 234 , - -23 , 250 , - 21 , 263 , - 64 , 272 , - 103 , 277 , - 139 , 278 , - 170 , 275 , - 196 , 269 , - 215 , 259 , - 227 , 246 , - 233 , 229 , - 232 , 210 , - 224 , 189 , - 210 , 166 , - 191 , 140 , - 167 , 114 , - 139 , 86 , - 108 , 58 , - 75 , 30 , - 41 , 1 , - 7 , -26 , - -25 , -53 , - -55 , -79 , - -83 , -104 , - -107 , -127 , - -126 , -148 , - -141 , -166 , - -150 , -182 , - -153 , -196 , - -152 , -206 , - -144 , -213 , - -132 , -217 , - -115 , -218 , - -94 , -216 , - -69 , -210 , - -41 , -201 , - -10 , -188 , - 20 , -173 , - 53 , -155 , - 85 , -135 , - 117 , -113 , - 147 , -89 , - 176 , -65 , - 202 , -39 , - 225 , -14 , - 246 , 10 , - 263 , 34 , - 277 , 57 , - 287 , 77 , - 295 , 95 , - 300 , 110 , - 302 , 122 , - 302 , 131 , - 299 , 135 , - 295 , 136 , - 290 , 133 , - 284 , 127 , - 278 , 116 , - 271 , 103 , - 265 , 86 , - 259 , 67 , - 253 , 46 , - 249 , 24 , - 245 , 1 , - 242 , -20 , - 240 , -43 , - 240 , -63 , - 240 , -82 , - 240 , -99 , - 242 , -112 , - 243 , -122 , - 245 , -127 , - 247 , -129 , - 249 , -127 , - 251 , -120 , - 252 , -109 , - 252 , -94 , - 252 , -75 , - 250 , -54 , - 248 , -29 , - 245 , -3 , - 240 , 24 , - 235 , 53 , - 228 , 82 , - 220 , 110 , - 211 , 137 , - 200 , 162 , - 188 , 185 , - 175 , 205 , - 161 , 222 , - 145 , 235 , - 128 , 244 , - 110 , 250 , - 91 , 251 , - 71 , 250 , - 51 , 245 , - 29 , 237 , - 6 , 226 , - -15 , 213 , - -39 , 199 , - -62 , 185 , - -85 , 169 , - -108 , 154 , - -130 , 140 , - -151 , 127 , - -170 , 116 , - -188 , 107 , - -204 , 100 , - -218 , 96 , - -228 , 95 , - -236 , 96 , - -241 , 100 , - -242 , 106 , - -240 , 114 , - -234 , 124 , - -224 , 135 , - -211 , 148 , - -194 , 161 , - -174 , 174 , - -152 , 187 , - -126 , 200 , - -98 , 211 , - -69 , 221 , - -38 , 229 , - -6 , 235 , - 25 , 239 , - 57 , 241 , - 87 , 241 , - 117 , 239 , - 144 , 235 , - 170 , 230 , - 192 , 223 , - 212 , 214 , - 229 , 205 , - 242 , 195 , - 252 , 184 , - 258 , 173 , - 262 , 162 , - 262 , 150 , - 259 , 139 , - 254 , 127 , - 247 , 116 , - 237 , 105 , - 227 , 93 , - 215 , 81 , - 203 , 69 , - 192 , 56 , - 180 , 42 , - 169 , 26 , - 159 , 10 , - 150 , -7 , - 143 , -26 , - 138 , -47 , - 134 , -69 , - 131 , -93 , - 130 , -117 , - 130 , -143 , - 132 , -169 , - 134 , -196 , - 137 , -222 , - 141 , -248 , - 144 , -272 , - 147 , -294 , - 149 , -314 , - 151 , -331 , - 151 , -344 , - 150 , -354 , - 147 , -359 , - 142 , -359 , - 136 , -355 , - 127 , -346 , - 117 , -333 , - 105 , -315 , - 91 , -293 , - 76 , -267 , - 59 , -237 , - 41 , -205 , - 22 , -172 , - 2 , -137 , - -18 , -101 , - -38 , -67 , - -59 , -33 , - -79 , -1 , - -100 , 26 , - -119 , 52 , - -138 , 74 , - -157 , 91 , - -174 , 104 , - -190 , 113 , - -205 , 116 , - -219 , 116 , - -232 , 111 , - -244 , 102 , - -254 , 91 , - -263 , 77 , - -271 , 61 , - -277 , 44 , - -283 , 26 , - -286 , 10 , - -289 , -4 , - -289 , -18 , - -289 , -28 , - -287 , -36 , - -283 , -39 , - -278 , -39 , - -271 , -34 , - -263 , -26 , - -253 , -14 , - -242 , 1 , - -230 , 21 , - -218 , 42 , - -204 , 66 , - -190 , 91 , - -175 , 117 , - -161 , 142 , - -147 , 166 , - -134 , 188 , - -122 , 208 , - -111 , 224 , - -102 , 236 , - -96 , 244 , - -91 , 247 , - -89 , 246 , - -89 , 239 , - -92 , 229 , - -97 , 213 , - -105 , 195 , - -114 , 172 , - -126 , 147 , - -140 , 121 , - -154 , 93 , - -169 , 66 , - -185 , 39 , - -200 , 14 , - -214 , -8 , - -226 , -28 , - -236 , -44 , - -244 , -56 , - -248 , -63 , - -250 , -66 , - -247 , -63 , - -240 , -56 , - -230 , -44 , - -215 , -28 , - -197 , -8 , - -174 , 13 , - -149 , 38 , - -121 , 64 , - -92 , 91 , - -60 , 118 , - -29 , 143 , - 2 , 166 , - 32 , 187 , - 61 , 204 , - 86 , 217 , - 108 , 225 , - 126 , 229 , - 139 , 227 , - 147 , 221 , - 149 , 210 , - 145 , 194 , - 136 , 173 , - 120 , 149 , - 99 , 122 , - 73 , 91 , - 42 , 59 , - 7 , 26 , - -30 , -6 , - -70 , -39 , - -112 , -71 , - -154 , -101 , - -195 , -129 , - -235 , -154 , - -271 , -175 , - -305 , -193 , - -334 , -208 , - -358 , -218 , - -377 , -225 , - -389 , -228 , - -396 , -227 , - -396 , -224 , - -390 , -217 , - -377 , -208 , - -359 , -197 , - -336 , -185 , - -307 , -172 , - -275 , -158 , - -239 , -144 , - -201 , -129 , - -161 , -116 , - -119 , -102 , - -78 , -90 , - -37 , -78 , - 1 , -68 , - 39 , -58 , - 75 , -48 , - 108 , -40 , - 138 , -32 , - 164 , -24 , - 188 , -16 , - 208 , -8 , - 225 , 0 , - 239 , 7 , - 250 , 16 , - 258 , 26 , - 264 , 36 , - 268 , 47 , - 271 , 58 , - 272 , 69 , - 273 , 81 , - 272 , 92 , - 271 , 102 , - 269 , 112 , - 266 , 120 , - 263 , 127 , - 259 , 133 , - 254 , 136 , - 248 , 136 , - 241 , 134 , - 232 , 130 , - 221 , 123 , - 209 , 113 , - 194 , 100 , - 177 , 85 , - 158 , 68 , - 136 , 49 , - 112 , 28 , - 85 , 6 , - 57 , -15 , - 27 , -38 , - -4 , -61 , - -37 , -82 , - -70 , -103 , - -103 , -122 , - -135 , -138 , - -166 , -152 , - -196 , -164 , - -223 , -172 , - -248 , -177 , - -270 , -179 , - -288 , -177 , - -302 , -173 , - -313 , -166 , - -320 , -155 , - -323 , -143 , - -322 , -128 , - -318 , -111 , - -312 , -93 , - -302 , -75 , - -291 , -55 , - -279 , -36 , - -266 , -17 , - -252 , 1 , - -239 , 19 , - -227 , 35 , - -216 , 51 , - -207 , 64 , - -201 , 76 , - -196 , 87 , - -193 , 96 , - -193 , 103 , - -195 , 108 , - -199 , 113 , - -203 , 116 , - -209 , 117 , - -214 , 118 , - -220 , 119 , - -224 , 118 , - -226 , 117 , - -226 , 116 , - -222 , 115 , - -215 , 114 , - -204 , 113 , - -189 , 112 , - -169 , 111 , - -144 , 110 , - -115 , 110 , - -82 , 109 , - -45 , 109 , - -6 , 110 , - 36 , 110 , - 79 , 111 , - 124 , 111 , - 168 , 113 , - 210 , 114 , - 250 , 116 , - 286 , 118 , - 318 , 121 , - 344 , 125 , - 364 , 129 , - 377 , 134 , - 383 , 140 , - 381 , 146 , - 372 , 154 , - 355 , 163 , - 331 , 173 , - 300 , 183 , - 264 , 195 , - 223 , 207 , - 177 , 219 , - 129 , 232 , - 80 , 245 , - 29 , 257 , - -19 , 268 , - -66 , 279 , - -109 , 288 , - -149 , 295 , - -183 , 300 , - -211 , 302 , - -232 , 302 , - -246 , 298 , - -253 , 292 , - -252 , 282 , - -245 , 268 , - -230 , 252 , - -210 , 232 , - -185 , 210 , - -155 , 184 , - -121 , 157 , - -85 , 127 , - -48 , 97 , - -10 , 65 , - 25 , 34 , - 60 , 3 , - 92 , -26 , - 121 , -54 , - 146 , -80 , - 166 , -104 , - 182 , -124 , - 193 , -140 , - 199 , -153 , - 201 , -161 , - 199 , -165 , - 194 , -165 , - 186 , -161 , - 177 , -152 , - 166 , -141 , - 155 , -125 , - 145 , -108 , - 137 , -87 , - 131 , -65 , - 128 , -42 , - 128 , -19 , - 132 , 4 , - 140 , 27 , - 151 , 48 , - 167 , 68 , - 186 , 86 , - 208 , 102 , - 232 , 115 , - 258 , 124 , - 284 , 131 , - 310 , 135 , - 334 , 137 , - 356 , 135 , - 375 , 131 , - 390 , 125 , - 399 , 118 , - 403 , 109 , - 401 , 99 , - 392 , 88 , - 376 , 78 , - 354 , 67 , - 325 , 57 , - 291 , 48 , - 251 , 40 , - 207 , 33 , - 159 , 27 , - 109 , 23 , - 58 , 19 , - 7 , 17 , - -42 , 15 , - -90 , 14 , - -134 , 13 , - -173 , 12 , - -207 , 11 , - -234 , 9 , - -254 , 6 , - -267 , 2 , - -272 , -2 , - -270 , -9 , - -260 , -18 , - -243 , -28 , - -219 , -40 , - -191 , -53 , - -157 , -67 , - -121 , -82 , - -82 , -98 , - -41 , -114 , - -1 , -129 , - 36 , -144 , - 72 , -157 , - 105 , -168 , - 132 , -177 , - 155 , -183 , - 172 , -187 , - 182 , -186 , - 186 , -182 , - 183 , -175 , - 174 , -163 , - 159 , -148 , - 139 , -130 , - 114 , -108 , - 85 , -83 , - 53 , -57 , - 20 , -28 , - -13 , 0 , - -46 , 30 , - -78 , 59 , - -108 , 87 , - -134 , 113 , - -156 , 136 , - -173 , 156 , - -185 , 171 , - -191 , 182 , - -192 , 188 , - -188 , 189 , - -178 , 184 , - -163 , 173 , - -144 , 156 , - -121 , 135 , - -95 , 108 , - -68 , 76 , - -40 , 40 , - -12 , 1 , - 15 , -39 , - 40 , -83 , - 63 , -127 , - 82 , -171 , - 97 , -214 , - 108 , -255 , - 115 , -293 , - 116 , -328 , - 112 , -357 , - 104 , -382 , - 92 , -401 , - 76 , -413 , - 56 , -419 , - 34 , -418 , - 10 , -411 , - -14 , -396 , - -39 , -376 , - -64 , -349 , - -87 , -316 , - -107 , -279 , - -125 , -238 , - -140 , -194 , - -150 , -147 , - -157 , -99 , - -159 , -50 , - -157 , -2 , - -150 , 44 , - -140 , 88 , - -127 , 128 , - -110 , 165 , - -91 , 196 , - -70 , 223 , - -48 , 243 , - -26 , 257 , - -4 , 264 , - 16 , 265 , - 35 , 259 , - 51 , 246 , - 65 , 228 , - 76 , 205 , - 83 , 176 , - 86 , 143 , - 86 , 107 , - 82 , 68 , - 75 , 28 , - 65 , -12 , - 52 , -53 , - 37 , -92 , - 21 , -129 , - 4 , -163 , - -13 , -193 , - -30 , -217 , - -47 , -237 , - -61 , -250 , - -75 , -257 , - -85 , -258 , - -94 , -252 , - -99 , -238 , - -102 , -219 , - -102 , -193 , - -99 , -161 , - -94 , -124 , - -87 , -83 , - -78 , -38 , - -68 , 9 , - -58 , 58 , - -47 , 108 , - -37 , 158 , - -27 , 207 , - -19 , 253 , - -13 , 296 , - -9 , 335 , - -8 , 369 , - -9 , 397 , - -12 , 419 , - -18 , 434 , - -27 , 442 , - -38 , 443 , - -50 , 437 , - -64 , 423 , - -79 , 403 , - -93 , 377 , - -108 , 345 , - -122 , 307 , - -134 , 266 , - -144 , 221 , - -152 , 174 , - -157 , 125 , - -159 , 75 , - -158 , 27 , - -153 , -20 , - -144 , -65 , - -133 , -107 , - -119 , -145 , - -102 , -179 , - -83 , -207 , - -63 , -230 , - -42 , -248 , - -22 , -259 , - -2 , -265 , - 16 , -265 , - 32 , -259 , - 46 , -249 , - 56 , -234 , - 62 , -214 , - 63 , -191 , - 60 , -166 , - 53 , -138 , - 40 , -108 , - 24 , -78 , - 3 , -47 , - -21 , -16 , - -48 , 12 , - -78 , 41 , - -109 , 67 , - -141 , 92 , - -172 , 115 , - -201 , 135 , - -229 , 153 , - -253 , 168 , - -272 , 181 , - -287 , 192 , - -297 , 201 , - -300 , 209 , - -297 , 215 , - -287 , 220 , - -271 , 224 , - -248 , 228 , - -220 , 231 , - -186 , 234 , - -147 , 236 , - -105 , 239 , - -60 , 242 , - -13 , 246 , - 33 , 249 , - 80 , 252 , - 126 , 255 , - 168 , 257 , - 207 , 259 , - 241 , 260 , - 269 , 260 , - 291 , 258 , - 307 , 255 , - 315 , 250 , - 316 , 243 , - 309 , 234 , - 295 , 223 , - 275 , 210 , - 249 , 195 , - 217 , 178 , - 180 , 160 , - 140 , 140 , - 98 , 120 , - 54 , 99 , - 10 , 77 , - -33 , 57 , - -75 , 37 , - -114 , 18 , - -150 , 1 , - -182 , -13 , - -208 , -25 , - -229 , -34 , - -245 , -40 , - -255 , -42 , - -260 , -41 , - -259 , -37 , - -253 , -29 , - -243 , -18 , - -229 , -4 , - -212 , 13 , - -192 , 32 , - -171 , 53 , - -150 , 76 , - -129 , 99 , - -108 , 123 , - -90 , 146 , - -74 , 169 , - -61 , 189 , - -51 , 208 , - -45 , 224 , - -42 , 236 , - -44 , 245 , - -49 , 250 , - -58 , 251 , - -70 , 248 , - -84 , 240 , - -100 , 228 , - -118 , 212 , - -136 , 192 , - -155 , 168 , - -173 , 141 , - -189 , 111 , - -204 , 78 , - -216 , 44 , - -224 , 9 , - -230 , -27 , - -232 , -63 , - -230 , -99 , - -224 , -134 , - -214 , -167 , - -201 , -198 , - -184 , -227 , - -165 , -252 , - -143 , -274 , - -119 , -292 , - -94 , -306 , - -69 , -316 , - -43 , -322 , - -18 , -324 , - 5 , -321 , - 26 , -314 , - 46 , -302 , - 63 , -287 , - 77 , -269 , - 88 , -246 , - 95 , -221 , - 99 , -193 , - 99 , -163 , - 97 , -131 , - 91 , -98 , - 82 , -63 , - 71 , -28 , - 58 , 6 , - 43 , 40 , - 27 , 74 , - 10 , 107 , - -6 , 138 , - -23 , 168 , - -40 , 195 , - -56 , 219 , - -71 , 241 , - -85 , 260 , - -97 , 275 , - -108 , 288 , - -118 , 297 , - -126 , 302 , - -133 , 305 , - -139 , 304 , - -144 , 300 , - -148 , 294 , - -152 , 284 , - -155 , 273 , - -158 , 260 , - -161 , 245 , - -165 , 228 , - -168 , 211 , - -173 , 194 , - -178 , 176 , - -183 , 158 , - -189 , 141 , - -196 , 124 , - -202 , 108 , - -210 , 94 , - -217 , 81 , - -224 , 69 , - -231 , 59 , - -237 , 50 , - -243 , 42 , - -248 , 36 , - -252 , 30 , - -254 , 26 , - -256 , 21 , - -256 , 17 , - -254 , 13 , - -251 , 8 , - -247 , 2 , - -242 , -4 , - -235 , -12 , - -227 , -21 , - -219 , -33 , - -210 , -46 , - -200 , -61 , - -190 , -78 , - -181 , -96 , - -171 , -116 , - -162 , -137 , - -153 , -159 , - -146 , -182 , - -139 , -204 , - -133 , -226 , - -129 , -247 , - -125 , -266 , - -123 , -284 , - -122 , -298 , - -123 , -310 , - -124 , -318 , - -127 , -322 , - -130 , -321 , - -135 , -317 , - -140 , -308 , - -146 , -294 , - -152 , -276 , - -159 , -254 , - -166 , -229 , - -173 , -200 , - -181 , -168 , - -188 , -134 , - -195 , -99 , - -202 , -63 , - -208 , -27 , - -214 , 7 , - -219 , 40 , - -224 , 70 , - -227 , 98 , - -230 , 121 , - -231 , 140 , - -231 , 154 , - -230 , 163 , - -227 , 167 , - -223 , 165 , - -216 , 157 , - -208 , 145 , - -198 , 127 , - -186 , 105 , - -173 , 79 , - -157 , 50 , - -139 , 19 , - -120 , -13 , - -99 , -46 , - -77 , -79 , - -54 , -111 , - -30 , -141 , - -5 , -168 , - 19 , -191 , - 43 , -210 , - 67 , -223 , - 89 , -232 , - 110 , -235 , - 129 , -232 , - 146 , -223 , - 160 , -209 , - 171 , -188 , - 179 , -163 , - 183 , -134 , - 184 , -100 , - 182 , -63 , - 176 , -24 , - 166 , 16 , - 154 , 58 , - 139 , 100 , - 121 , 140 , - 102 , 180 , - 81 , 216 , - 59 , 250 , - 37 , 280 , - 15 , 305 , - -5 , 327 , - -25 , 344 , - -43 , 355 , - -59 , 363 , - -73 , 365 , - -84 , 363 , - -93 , 357 , - -98 , 348 , - -101 , 335 , - -101 , 320 , - -99 , 303 , - -95 , 284 , - -89 , 265 , - -82 , 246 , - -75 , 227 , - -67 , 209 , - -60 , 193 , - -55 , 178 , - -51 , 166 , - -49 , 156 , - -50 , 148 , - -53 , 142 , - -60 , 139 , - -69 , 138 , - -82 , 140 , - -97 , 143 , - -116 , 147 , - -136 , 153 , - -158 , 160 , - -181 , 167 , - -205 , 174 , - -228 , 181 , - -251 , 187 , - -271 , 192 , - -289 , 197 , - -304 , 200 , - -315 , 202 , - -321 , 203 , - -323 , 202 , - -319 , 201 , - -311 , 198 , - -297 , 195 , - -279 , 191 , - -255 , 187 , - -228 , 183 , - -197 , 179 , - -163 , 175 , - -127 , 173 , - -91 , 171 , - -54 , 171 , - -19 , 172 , - 14 , 174 , - 44 , 178 , - 71 , 183 , - 93 , 189 , - 110 , 196 , - 121 , 204 , - 126 , 213 , - 125 , 221 , - 117 , 230 , - 104 , 237 , - 85 , 244 , - 60 , 249 , - 32 , 252 , - 0 , 252 , - -33 , 250 , - -68 , 245 , - -104 , 237 , - -139 , 226 , - -172 , 212 , - -202 , 194 , - -228 , 173 , - -250 , 149 , - -266 , 122 , - -276 , 94 , - -281 , 63 , - -279 , 31 , - -271 , -1 , - -257 , -35 , - -238 , -68 , - -214 , -100 , - -186 , -131 , - -155 , -160 , - -122 , -186 , - -89 , -210 , - -56 , -230 , - -24 , -247 , - 4 , -259 , - 29 , -269 , - 51 , -274 , - 67 , -275 , - 78 , -272 , - 82 , -266 , - 81 , -257 , - 73 , -245 , - 60 , -230 , - 42 , -214 , - 18 , -196 , - -8 , -177 , - -38 , -158 , - -70 , -138 , - -102 , -119 , - -134 , -102 , - -165 , -85 , - -193 , -70 , - -217 , -58 , - -236 , -47 , - -250 , -38 , - -258 , -32 , - -260 , -29 , - -255 , -27 , - -243 , -28 , - -224 , -30 , - -200 , -34 , - -170 , -40 , - -136 , -47 , - -98 , -54 , - -58 , -62 , - -16 , -71 , - 25 , -79 , - 65 , -87 , - 104 , -94 , - 139 , -101 , - 169 , -108 , - 195 , -113 , - 214 , -118 , - 226 , -122 , - 232 , -125 , - 231 , -128 , - 222 , -131 , - 207 , -133 , - 187 , -136 , - 160 , -138 , - 130 , -141 , - 96 , -145 , - 60 , -149 , - 23 , -153 , - -13 , -159 , - -49 , -165 , - -81 , -172 , - -110 , -179 , - -135 , -188 , - -154 , -196 , - -166 , -204 , - -172 , -212 , - -172 , -219 , - -164 , -226 , - -150 , -231 , - -129 , -235 , - -103 , -236 , - -73 , -236 , - -38 , -233 , - 0 , -227 , - 38 , -218 , - 78 , -207 , - 118 , -192 , - 155 , -174 , - 190 , -154 , - 221 , -131 , - 247 , -106 , - 268 , -79 , - 282 , -50 , - 291 , -20 , - 293 , 10 , - 289 , 41 , - 279 , 71 , - 263 , 101 , - 243 , 129 , - 218 , 155 , - 190 , 180 , - 160 , 201 , - 129 , 220 , - 97 , 235 , - 67 , 247 , - 39 , 256 , - 14 , 261 , - -6 , 263 , - -22 , 262 , - -33 , 257 , - -39 , 250 , - -39 , 241 , - -33 , 230 , - -21 , 217 , - -4 , 203 , - 17 , 188 , - 44 , 173 , - 73 , 158 , - 105 , 143 , - 139 , 130 , - 174 , 117 , - 208 , 106 , - 241 , 96 , - 272 , 87 , - 300 , 81 , - 324 , 75 , - 344 , 72 , - 359 , 70 , - 369 , 69 , - 373 , 69 , - 373 , 70 , - 367 , 72 , - 357 , 74 , - 343 , 77 , - 325 , 80 , - 305 , 83 , - 282 , 86 , - 258 , 88 , - 233 , 91 , - 209 , 93 , - 185 , 96 , - 164 , 98 , - 144 , 101 , - 128 , 104 , - 115 , 107 , - 106 , 111 , - 100 , 116 , - 98 , 122 , - 99 , 130 , - 104 , 138 , - 112 , 148 , - 122 , 159 , - 134 , 171 , - 147 , 184 , - 161 , 198 , - 175 , 213 , - 188 , 228 , - 199 , 243 , - 208 , 258 , - 214 , 272 , - 217 , 284 , - 216 , 295 , - 211 , 304 , - 203 , 310 , - 190 , 313 , - 173 , 313 , - 153 , 309 , - 129 , 302 , - 102 , 291 , - 72 , 275 , - 41 , 257 , - 8 , 234 , - -23 , 208 , - -56 , 180 , - -88 , 149 , - -118 , 116 , - -145 , 82 , - -170 , 48 , - -190 , 14 , - -207 , -19 , - -220 , -50 , - -227 , -80 , - -230 , -107 , - -228 , -130 , - -221 , -149 , - -210 , -165 , - -194 , -175 , - -174 , -181 , - -150 , -183 , - -123 , -179 , - -94 , -172 , - -62 , -160 , - -29 , -145 , - 3 , -126 , - 37 , -106 , - 71 , -84 , - 103 , -60 , - 134 , -37 , - 162 , -14 , - 188 , 6 , - 211 , 25 , - 231 , 42 , - 248 , 55 , - 261 , 65 , - 270 , 70 , - 276 , 71 , - 277 , 68 , - 276 , 60 , - 271 , 48 , - 263 , 31 , - 252 , 11 , - 239 , -12 , - 224 , -38 , - 207 , -66 , - 188 , -96 , - 169 , -127 , - 149 , -158 , - 129 , -188 , - 110 , -217 , - 91 , -244 , - 73 , -269 , - 57 , -290 , - 42 , -309 , - 29 , -324 , - 19 , -335 , - 10 , -342 , - 4 , -345 , - 0 , -344 , - 0 , -340 , - 1 , -333 , - 5 , -323 , - 11 , -310 , - 19 , -295 , - 29 , -278 , - 41 , -261 , - 54 , -242 , - 69 , -224 , - 84 , -206 , - 100 , -188 , - 117 , -172 , - 133 , -157 , - 149 , -143 , - 164 , -130 , - 179 , -120 , - 192 , -110 , - 204 , -103 , - 215 , -96 , - 224 , -91 , - 232 , -87 , - 238 , -83 , - 242 , -79 , - 245 , -75 , - 246 , -71 , - 247 , -67 , - 246 , -61 , - 244 , -55 , - 242 , -47 , - 239 , -38 , - 237 , -28 , - 234 , -16 , - 231 , -3 , - 229 , 11 , - 228 , 27 , - 227 , 44 , - 227 , 62 , - 227 , 80 , - 228 , 98 , - 230 , 117 , - 233 , 135 , - 236 , 152 , - 238 , 168 , - 241 , 183 , - 243 , 197 , - 244 , 209 , - 245 , 219 , - 243 , 226 , - 241 , 232 , - 236 , 235 , - 229 , 235 , - 220 , 233 , - 208 , 228 , - 193 , 221 , - 177 , 212 , - 157 , 199 , - 136 , 185 , - 113 , 168 , - 87 , 150 , - 61 , 129 , - 34 , 107 , - 6 , 83 , - -20 , 57 , - -47 , 31 , - -72 , 3 , - -96 , -24 , - -117 , -52 , - -135 , -81 , - -150 , -110 , - -161 , -138 , - -168 , -165 , - -172 , -192 , - -170 , -216 , - -165 , -239 , - -156 , -260 , - -142 , -278 , - -125 , -293 , - -105 , -305 , - -81 , -313 , - -56 , -318 , - -29 , -319 , - 0 , -316 , - 27 , -308 , - 56 , -297 , - 84 , -281 , - 110 , -261 , - 134 , -238 , - 156 , -211 , - 175 , -182 , - 190 , -149 , - 203 , -115 , - 212 , -79 , - 218 , -43 , - 220 , -6 , - 219 , 28 , - 215 , 63 , - 209 , 95 , - 201 , 125 , - 192 , 151 , - 182 , 174 , - 171 , 192 , - 160 , 206 , - 150 , 214 , - 142 , 217 , - 134 , 216 , - 129 , 209 , - 126 , 197 , - 125 , 181 , - 127 , 161 , - 130 , 137 , - 136 , 110 , - 144 , 82 , - 154 , 53 , - 164 , 23 , - 176 , -6 , - 187 , -34 , - 197 , -60 , - 207 , -83 , - 215 , -103 , - 220 , -118 , - 223 , -129 , - 223 , -134 , - 219 , -134 , - 211 , -129 , - 199 , -119 , - 184 , -103 , - 164 , -83 , - 141 , -58 , - 115 , -30 , - 86 , 1 , - 55 , 34 , - 23 , 70 , - -9 , 106 , - -42 , 142 , - -74 , 178 , - -104 , 211 , - -132 , 243 , - -156 , 271 , - -175 , 295 , - -190 , 316 , - -200 , 332 , - -204 , 344 , - -202 , 351 , - -193 , 353 , - -179 , 351 , - -159 , 345 , - -134 , 335 , - -104 , 322 , - -69 , 306 , - -31 , 288 , - 8 , 269 , - 51 , 248 , - 93 , 227 , - 136 , 207 , - 177 , 187 , - 215 , 168 , - 251 , 150 , - 282 , 134 , - 308 , 120 , - 329 , 108 , - 344 , 98 , - 352 , 89 , - 354 , 82 , - 350 , 76 , - 339 , 71 , - 323 , 67 , - 301 , 62 , - 274 , 57 , - 243 , 51 , - 209 , 44 , - 172 , 35 , - 134 , 24 , - 95 , 12 , - 57 , -2 , - 20 , -18 , - -13 , -37 , - -45 , -57 , - -72 , -79 , - -96 , -102 , - -114 , -125 , - -127 , -148 , - -135 , -170 , - -138 , -190 , - -136 , -208 , - -128 , -224 , - -116 , -236 , - -100 , -243 , - -80 , -247 , - -57 , -245 , - -31 , -237 , - -5 , -224 , - 22 , -206 , - 50 , -182 , - 78 , -153 , - 104 , -119 , - 129 , -81 , - 152 , -39 , - 172 , 4 , - 189 , 50 , - 203 , 98 , - 214 , 145 , - 222 , 191 , - 227 , 234 , - 229 , 275 , - 227 , 311 , - 224 , 342 , - 218 , 367 , - 211 , 386 , - 202 , 398 , - 192 , 402 , - 181 , 399 , - 169 , 389 , - 158 , 371 , - 146 , 346 , - 135 , 315 , - 124 , 278 , - 113 , 237 , - 103 , 191 , - 93 , 143 , - 84 , 92 , - 75 , 42 , - 66 , -8 , - 57 , -56 , - 49 , -102 , - 40 , -144 , - 31 , -181 , - 22 , -213 , - 12 , -238 , - 2 , -256 , - -6 , -267 , - -16 , -271 , - -26 , -268 , - -35 , -258 , - -44 , -241 , - -52 , -217 , - -59 , -189 , - -64 , -155 , - -67 , -118 , - -69 , -77 , - -68 , -36 , - -65 , 6 , - -59 , 48 , - -51 , 89 , - -40 , 127 , - -27 , 161 , - -12 , 191 , - 4 , 216 , - 22 , 235 , - 42 , 247 , - 62 , 253 , - 81 , 253 , - 100 , 245 , - 118 , 231 , - 134 , 211 , - 147 , 185 , - 157 , 153 , - 164 , 117 , - 166 , 77 , - 164 , 35 , - 158 , -9 , - 147 , -55 , - 132 , -100 , - 113 , -145 , - 89 , -187 , - 63 , -227 , - 33 , -264 , - 1 , -296 , - -30 , -323 , - -64 , -345 , - -96 , -362 , - -127 , -372 , - -156 , -377 , - -182 , -376 , - -203 , -369 , - -220 , -357 , - -231 , -340 , - -237 , -318 , - -236 , -293 , - -229 , -264 , - -216 , -233 , - -197 , -200 , - -172 , -166 , - -143 , -132 , - -109 , -98 , - -72 , -66 , - -33 , -35 , - 7 , -6 , - 48 , 19 , - 87 , 42 , - 125 , 61 , - 159 , 77 , - 189 , 89 , - 213 , 98 , - 232 , 103 , - 244 , 104 , - 249 , 102 , - 247 , 97 , - 238 , 90 , - 223 , 80 , - 200 , 69 , - 172 , 56 , - 139 , 42 , - 102 , 27 , - 61 , 12 , - 19 , -2 , - -22 , -16 , - -64 , -30 , - -103 , -43 , - -140 , -55 , - -172 , -66 , - -198 , -75 , - -219 , -84 , - -233 , -91 , - -239 , -97 , - -238 , -102 , - -230 , -107 , - -215 , -110 , - -192 , -113 , - -164 , -115 , - -130 , -117 , - -93 , -119 , - -52 , -120 , - -9 , -121 , - 33 , -122 , - 75 , -122 , - 115 , -122 , - 152 , -121 , - 185 , -120 , - 211 , -118 , - 232 , -115 , - 245 , -111 , - 252 , -106 , - 250 , -99 , - 241 , -91 , - 224 , -81 , - 200 , -69 , - 170 , -56 , - 135 , -40 , - 95 , -23 , - 51 , -5 , - 6 , 15 , - -40 , 36 , - -87 , 58 , - -132 , 81 , - -175 , 105 , - -214 , 128 , - -249 , 150 , - -278 , 171 , - -302 , 191 , - -320 , 209 , - -331 , 225 , - -337 , 238 , - -336 , 249 , - -330 , 256 , - -319 , 259 , - -304 , 260 , - -286 , 256 , - -265 , 250 , - -243 , 239 , - -220 , 226 , - -198 , 210 , - -178 , 191 , - -159 , 171 , - -144 , 148 , - -132 , 124 , - -125 , 100 , - -121 , 76 , - -121 , 51 , - -126 , 28 , - -133 , 6 , - -144 , -13 , - -158 , -31 , - -173 , -47 , - -189 , -60 , - -204 , -70 , - -219 , -77 , - -231 , -81 , - -240 , -82 , - -246 , -80 , - -247 , -75 , - -243 , -68 , - -233 , -59 , - -218 , -48 , - -197 , -35 , - -170 , -21 , - -139 , -6 , - -102 , 8 , - -62 , 24 , - -18 , 40 , - 26 , 56 , - 72 , 71 , - 118 , 85 , - 162 , 99 , - 204 , 112 , - 242 , 124 , - 275 , 135 , - 302 , 146 , - 322 , 156 , - 335 , 166 , - 340 , 175 , - 338 , 183 , - 327 , 192 , - 309 , 200 , - 283 , 208 , - 250 , 216 , - 212 , 225 , - 169 , 233 , - 122 , 241 , - 72 , 249 , - 21 , 256 , - -29 , 263 , - -78 , 270 , - -126 , 275 , - -169 , 280 , - -208 , 283 , - -241 , 285 , - -268 , 285 , - -288 , 283 , - -301 , 280 , - -306 , 274 , - -304 , 267 , - -295 , 257 , - -279 , 246 , - -257 , 233 , - -229 , 219 , - -197 , 203 , - -161 , 187 , - -122 , 169 , - -82 , 152 , - -41 , 134 , - -1 , 117 , - 38 , 101 , - 75 , 86 , - 110 , 72 , - 142 , 60 , - 170 , 49 , - 194 , 40 , - 213 , 34 , - 229 , 29 , - 240 , 26 , - 248 , 25 , - 252 , 25 , - 254 , 26 , - 253 , 27 , - 249 , 30 , - 245 , 32 , - 240 , 33 , - 234 , 34 , - 229 , 34 , - 224 , 32 , - 220 , 28 , - 217 , 21 , - 216 , 13 , - 216 , 2 , - 218 , -10 , - 221 , -26 , - 225 , -44 , - 230 , -64 , - 235 , -85 , - 241 , -107 , - 246 , -130 , - 250 , -153 , - 253 , -176 , - 255 , -197 , - 255 , -216 , - 252 , -234 , - 248 , -248 , - 241 , -260 , - 231 , -267 , - 218 , -271 , - 204 , -271 , - 187 , -266 , - 168 , -257 , - 147 , -244 , - 125 , -227 , - 101 , -206 , - 78 , -182 , - 54 , -155 , - 30 , -125 , - 7 , -94 , - -15 , -62 , - -36 , -30 , - -56 , 2 , - -74 , 33 , - -91 , 64 , - -106 , 92 , - -120 , 118 , - -132 , 142 , - -142 , 162 , - -151 , 179 , - -160 , 194 , - -167 , 204 , - -174 , 212 , - -180 , 217 , - -186 , 218 , - -192 , 218 , - -197 , 214 , - -203 , 209 , - -209 , 202 , - -214 , 194 , - -219 , 185 , - -224 , 175 , - -228 , 165 , - -231 , 154 , - -232 , 143 , - -232 , 131 , - -231 , 120 , - -226 , 108 , - -220 , 96 , - -210 , 83 , - -198 , 69 , - -182 , 55 , - -164 , 39 , - -142 , 23 , - -117 , 4 , - -90 , -14 , - -61 , -36 , - -29 , -59 , - 3 , -83 , - 36 , -109 , - 70 , -135 , - 104 , -163 , - 136 , -190 , - 167 , -218 , - 195 , -244 , - 220 , -270 , - 242 , -293 , - 259 , -313 , - 273 , -331 , - 282 , -344 , - 286 , -353 , - 285 , -357 , - 279 , -356 , - 269 , -349 , - 255 , -337 , - 237 , -319 , - 215 , -296 , - 191 , -267 , - 165 , -234 , - 138 , -197 , - 110 , -156 , - 82 , -112 , - 55 , -67 , - 30 , -22 , - 7 , 23 , - -12 , 67 , - -30 , 108 , - -43 , 147 , - -53 , 181 , - -59 , 210 , - -61 , 233 , - -60 , 251 , - -54 , 261 , - -45 , 265 , - -33 , 263 , - -18 , 254 , - -2 , 238 , - 16 , 217 , - 36 , 192 , - 56 , 162 , - 76 , 129 , - 96 , 94 , - 115 , 58 , - 133 , 21 , - 149 , -13 , - 164 , -45 , - 176 , -75 , - 186 , -101 , - 194 , -122 , - 200 , -138 , - 203 , -148 , - 205 , -152 , - 205 , -150 , - 204 , -143 , - 202 , -130 , - 198 , -112 , - 194 , -89 , - 190 , -63 , - 186 , -34 , - 182 , -4 , - 178 , 27 , - 175 , 58 , - 173 , 88 , - 171 , 116 , - 170 , 141 , - 170 , 162 , - 171 , 179 , - 172 , 191 , - 175 , 198 , - 177 , 199 , - 180 , 195 , - 183 , 186 , - 187 , 172 , - 191 , 154 , - 194 , 132 , - 198 , 107 , - 202 , 80 , - 206 , 52 , - 209 , 23 , - 213 , -5 , - 217 , -33 , - 220 , -58 , - 224 , -81 , - 228 , -100 , - 232 , -116 , - 237 , -128 , - 241 , -135 , - 246 , -138 , - 251 , -137 , - 256 , -132 , - 260 , -123 , - 265 , -111 , - 269 , -96 , - 272 , -80 , - 274 , -62 , - 275 , -45 , - 274 , -27 , - 271 , -10 , - 266 , 4 , - 259 , 16 , - 250 , 26 , - 238 , 32 , - 223 , 34 , - 205 , 33 , - 185 , 28 , - 162 , 19 , - 136 , 6 , - 109 , -9 , - 80 , -28 , - 49 , -49 , - 17 , -72 , - -14 , -97 , - -46 , -122 , - -78 , -147 , - -108 , -172 , - -137 , -195 , - -164 , -216 , - -189 , -235 , - -211 , -252 , - -229 , -264 , - -244 , -274 , - -256 , -280 , - -264 , -282 , - -269 , -280 , - -270 , -275 , - -268 , -267 , - -263 , -255 , - -256 , -240 , - -247 , -223 , - -236 , -204 , - -224 , -184 , - -211 , -161 , - -199 , -138 , - -186 , -115 , - -175 , -91 , - -165 , -67 , - -157 , -44 , - -150 , -21 , - -145 , 1 , - -143 , 22 , - -142 , 43 , - -143 , 63 , - -146 , 82 , - -151 , 101 , - -157 , 118 , - -163 , 135 , - -170 , 151 , - -176 , 167 , - -182 , 182 , - -186 , 196 , - -189 , 210 , - -191 , 223 , - -189 , 235 , - -185 , 245 , - -179 , 255 , - -169 , 263 , - -156 , 270 , - -141 , 275 , - -122 , 278 , - -101 , 279 , - -78 , 277 , - -52 , 273 , - -25 , 267 , - 2 , 258 , - 30 , 247 , - 59 , 234 , - 87 , 219 , - 114 , 201 , - 140 , 183 , - 164 , 163 , - 186 , 142 , - 206 , 122 , - 223 , 101 , - 236 , 81 , - 247 , 63 , - 255 , 46 , - 260 , 32 , - 262 , 20 , - 262 , 11 , - 259 , 5 , - 253 , 3 , - 246 , 4 , - 236 , 9 , - 226 , 18 , - 214 , 29 , - 201 , 44 , - 187 , 61 , - 172 , 80 , - 157 , 101 , - 142 , 123 , - 126 , 146 , - 110 , 168 , - 94 , 190 , - 77 , 210 , - 60 , 228 , - 44 , 244 , - 26 , 257 , - 8 , 266 , - -9 , 272 , - -27 , 274 , - -46 , 272 , - -65 , 266 , - -85 , 256 , - -104 , 243 , - -124 , 227 , - -143 , 207 , - -162 , 186 , - -180 , 163 , - -198 , 139 , - -214 , 114 , - -229 , 89 , - -242 , 66 , - -254 , 44 , - -263 , 23 , - -271 , 6 , - -277 , -8 , - -280 , -19 , - -282 , -27 , - -281 , -31 , - -279 , -30 , - -275 , -27 , - -270 , -19 , - -264 , -8 , - -257 , 5 , - -250 , 22 , - -243 , 42 , - -236 , 62 , - -229 , 84 , - -224 , 107 , - -220 , 129 , - -216 , 151 , - -214 , 171 , - -214 , 189 , - -214 , 205 , - -216 , 217 , - -219 , 226 , - -222 , 232 , - -226 , 234 , - -230 , 231 , - -233 , 224 , - -236 , 213 , - -237 , 198 , - -237 , 180 , - -235 , 157 , - -231 , 132 , - -224 , 104 , - -215 , 73 , - -203 , 41 , - -189 , 8 , - -172 , -24 , - -153 , -58 , - -133 , -90 , - -110 , -121 , - -87 , -150 , - -63 , -176 , - -40 , -200 , - -17 , -219 , - 3 , -235 , - 22 , -246 , - 39 , -252 , - 52 , -254 , - 62 , -251 , - 68 , -242 , - 71 , -229 , - 69 , -212 , - 63 , -189 , - 53 , -163 , - 40 , -133 , - 25 , -100 , - 6 , -65 , - -13 , -27 , - -34 , 10 , - -55 , 50 , - -75 , 89 , - -94 , 127 , - -110 , 164 , - -123 , 198 , - -132 , 229 , - -137 , 257 , - -137 , 281 , - -132 , 299 , - -121 , 313 , - -106 , 322 , - -85 , 325 , - -60 , 322 , - -31 , 314 , - 0 , 300 , - 35 , 281 , - 71 , 257 , - 108 , 229 , - 144 , 197 , - 178 , 162 , - 209 , 124 , - 236 , 85 , - 259 , 45 , - 276 , 4 , - 287 , -35 , - 291 , -73 , - 288 , -109 , - 278 , -142 , - 261 , -172 , - 238 , -198 , - 209 , -219 , - 175 , -236 , - 136 , -248 , - 94 , -255 , - 50 , -257 , - 5 , -255 , - -39 , -248 , - -81 , -237 , - -121 , -222 , - -157 , -205 , - -188 , -185 , - -213 , -164 , - -231 , -142 , - -242 , -120 , - -245 , -99 , - -241 , -79 , - -217 , -58 , - -171 , -38 , - -116 , -22 , - -63 , -12 , - -23 , -6 , - 0 , -3 , - 7 , -1 , - 6 , -1 , - 4 , -1 , - 2 , -1 , - 1 , -1 , - 1 , -1 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 8 , 7 , - 28 , 26 , - 57 , 55 , - 91 , 94 , - 127 , 138 , - 158 , 183 , - 180 , 222 , - 189 , 246 , - 193 , 263 , - 197 , 278 , - 200 , 292 , - 202 , 301 , - 201 , 307 , - 199 , 307 , - 194 , 301 , - 188 , 289 , - 178 , 270 , - 167 , 245 , - 152 , 213 , - 135 , 176 , - 116 , 132 , - 95 , 85 , - 71 , 33 , - 46 , -21 , - 19 , -77 , - -7 , -133 , - -35 , -188 , - -63 , -242 , - -91 , -291 , - -117 , -336 , - -142 , -376 , - -166 , -409 , - -187 , -435 , - -205 , -453 , - -221 , -463 , - -233 , -465 , - -242 , -458 , - -247 , -444 , - -248 , -423 , - -246 , -396 , - -241 , -363 , - -232 , -326 , - -219 , -285 , - -204 , -243 , - -187 , -200 , - -168 , -158 , - -147 , -117 , - -125 , -80 , - -102 , -46 , - -80 , -18 , - -58 , 4 , - -37 , 21 , - -17 , 32 , - 0 , 36 , - 16 , 35 , - 30 , 27 , - 41 , 14 , - 50 , -2 , - 57 , -23 , - 62 , -46 , - 64 , -71 , - 64 , -97 , - 63 , -122 , - 61 , -145 , - 58 , -165 , - 54 , -182 , - 51 , -194 , - 48 , -201 , - 46 , -203 , - 46 , -199 , - 47 , -190 , - 50 , -174 , - 55 , -154 , - 62 , -128 , - 71 , -99 , - 83 , -66 , - 97 , -30 , - 113 , 6 , - 131 , 44 , - 150 , 81 , - 170 , 117 , - 190 , 151 , - 210 , 182 , - 231 , 210 , - 250 , 233 , - 268 , 253 , - 284 , 267 , - 298 , 278 , - 309 , 284 , - 318 , 286 , - 325 , 285 , - 328 , 280 , - 328 , 274 , - 325 , 266 , - 320 , 256 , - 313 , 247 , - 303 , 239 , - 292 , 231 , - 279 , 225 , - 265 , 222 , - 251 , 221 , - 237 , 222 , - 224 , 227 , - 211 , 233 , - 199 , 242 , - 189 , 252 , - 181 , 264 , - 174 , 276 , - 169 , 288 , - 167 , 299 , - 166 , 308 , - 166 , 314 , - 168 , 317 , - 172 , 316 , - 176 , 311 , - 180 , 301 , - 184 , 286 , - 188 , 266 , - 191 , 241 , - 193 , 211 , - 193 , 178 , - 192 , 141 , - 188 , 102 , - 183 , 62 , - 175 , 21 , - 165 , -18 , - 154 , -57 , - 140 , -93 , - 125 , -124 , - 108 , -151 , - 91 , -172 , - 74 , -186 , - 56 , -193 , - 39 , -193 , - 23 , -185 , - 9 , -170 , - -3 , -148 , - -13 , -120 , - -21 , -86 , - -27 , -48 , - -30 , -6 , - -30 , 38 , - -27 , 83 , - -22 , 128 , - -15 , 171 , - -5 , 212 , - 4 , 248 , - 16 , 279 , - 28 , 303 , - 41 , 321 , - 53 , 331 , - 63 , 334 , - 73 , 329 , - 80 , 316 , - 85 , 296 , - 88 , 269 , - 87 , 237 , - 84 , 200 , - 78 , 160 , - 69 , 117 , - 57 , 73 , - 42 , 30 , - 26 , -11 , - 7 , -49 , - -11 , -84 , - -31 , -113 , - -52 , -136 , - -72 , -153 , - -91 , -163 , - -109 , -165 , - -125 , -160 , - -139 , -148 , - -150 , -129 , - -159 , -104 , - -164 , -74 , - -167 , -40 , - -166 , -3 , - -163 , 36 , - -158 , 77 , - -150 , 118 , - -140 , 158 , - -129 , 196 , - -116 , 231 , - -104 , 262 , - -91 , 290 , - -79 , 312 , - -68 , 330 , - -58 , 343 , - -51 , 352 , - -45 , 356 , - -42 , 356 , - -41 , 353 , - -43 , 347 , - -47 , 339 , - -53 , 331 , - -62 , 321 , - -73 , 312 , - -85 , 304 , - -98 , 298 , - -112 , 294 , - -127 , 292 , - -141 , 293 , - -155 , 296 , - -168 , 302 , - -179 , 309 , - -189 , 319 , - -197 , 330 , - -203 , 342 , - -206 , 353 , - -208 , 363 , - -207 , 372 , - -204 , 379 , - -199 , 382 , - -193 , 381 , - -185 , 377 , - -177 , 367 , - -167 , 353 , - -158 , 334 , - -148 , 311 , - -139 , 282 , - -130 , 250 , - -123 , 214 , - -116 , 175 , - -111 , 135 , - -107 , 93 , - -104 , 52 , - -103 , 11 , - -103 , -26 , - -105 , -62 , - -107 , -93 , - -109 , -120 , - -112 , -142 , - -115 , -158 , - -118 , -169 , - -120 , -173 , - -121 , -171 , - -121 , -164 , - -119 , -152 , - -116 , -136 , - -111 , -117 , - -104 , -95 , - -96 , -71 , - -86 , -48 , - -74 , -25 , - -61 , -4 , - -47 , 12 , - -32 , 26 , - -16 , 34 , - 0 , 37 , - 15 , 34 , - 31 , 24 , - 45 , 8 , - 59 , -13 , - 71 , -42 , - 81 , -76 , - 90 , -114 , - 96 , -157 , - 101 , -201 , - 103 , -248 , - 103 , -294 , - 101 , -339 , - 97 , -381 , - 92 , -420 , - 85 , -453 , - 76 , -481 , - 67 , -501 , - 57 , -513 , - 46 , -517 , - 35 , -513 , - 24 , -499 , - 14 , -477 , - 4 , -446 , - -5 , -408 , - -14 , -363 , - -22 , -312 , - -29 , -257 , - -35 , -197 , - -40 , -136 , - -45 , -73 , - -49 , -11 , - -52 , 48 , - -55 , 105 , - -57 , 158 , - -59 , 207 , - -61 , 249 , - -62 , 285 , - -64 , 314 , - -66 , 336 , - -68 , 351 , - -70 , 359 , - -72 , 360 , - -74 , 356 , - -76 , 347 , - -78 , 333 , - -80 , 316 , - -82 , 297 , - -84 , 277 , - -85 , 256 , - -86 , 237 , - -86 , 219 , - -85 , 204 , - -84 , 192 , - -83 , 184 , - -81 , 181 , - -78 , 182 , - -75 , 188 , - -72 , 198 , - -68 , 213 , - -64 , 231 , - -60 , 253 , - -56 , 278 , - -52 , 305 , - -48 , 333 , - -45 , 362 , - -42 , 390 , - -39 , 417 , - -37 , 441 , - -34 , 463 , - -33 , 482 , - -31 , 496 , - -29 , 506 , - -27 , 511 , - -25 , 511 , - -22 , 507 , - -19 , 498 , - -15 , 484 , - -10 , 466 , - -4 , 444 , - 2 , 419 , - 10 , 391 , - 20 , 362 , - 30 , 331 , - 41 , 299 , - 53 , 268 , - 65 , 237 , - 77 , 208 , - 90 , 180 , - 102 , 155 , - 113 , 132 , - 124 , 112 , - 132 , 95 , - 139 , 81 , - 144 , 69 , - 146 , 61 , - 145 , 54 , - 141 , 50 , - 135 , 48 , - 125 , 47 , - 112 , 48 , - 96 , 48 , - 77 , 49 , - 56 , 49 , - 33 , 49 , - 8 , 48 , - -17 , 46 , - -43 , 41 , - -70 , 36 , - -96 , 28 , - -121 , 19 , - -144 , 8 , - -165 , -3 , - -184 , -17 , - -199 , -31 , - -211 , -47 , - -219 , -62 , - -223 , -78 , - -223 , -92 , - -220 , -106 , - -212 , -119 , - -202 , -130 , - -188 , -138 , - -171 , -145 , - -152 , -148 , - -131 , -149 , - -109 , -147 , - -87 , -141 , - -64 , -133 , - -43 , -122 , - -22 , -108 , - -3 , -92 , - 13 , -74 , - 27 , -54 , - 38 , -32 , - 47 , -10 , - 52 , 11 , - 55 , 32 , - 54 , 53 , - 50 , 73 , - 44 , 90 , - 36 , 105 , - 26 , 116 , - 14 , 124 , - 1 , 129 , - -11 , 129 , - -25 , 126 , - -38 , 118 , - -51 , 106 , - -62 , 90 , - -72 , 70 , - -81 , 46 , - -88 , 20 , - -92 , -8 , - -95 , -39 , - -96 , -70 , - -96 , -103 , - -93 , -135 , - -89 , -166 , - -84 , -195 , - -79 , -221 , - -72 , -244 , - -66 , -263 , - -59 , -277 , - -52 , -286 , - -47 , -290 , - -41 , -289 , - -37 , -281 , - -34 , -268 , - -32 , -249 , - -31 , -225 , - -31 , -196 , - -32 , -164 , - -34 , -128 , - -37 , -90 , - -41 , -50 , - -45 , -10 , - -50 , 29 , - -55 , 67 , - -59 , 102 , - -64 , 133 , - -68 , 160 , - -72 , 181 , - -76 , 195 , - -79 , 203 , - -82 , 203 , - -84 , 196 , - -86 , 180 , - -88 , 158 , - -90 , 128 , - -92 , 92 , - -94 , 49 , - -97 , 2 , - -99 , -48 , - -103 , -102 , - -107 , -158 , - -112 , -213 , - -117 , -268 , - -123 , -319 , - -129 , -367 , - -135 , -409 , - -142 , -446 , - -149 , -475 , - -155 , -495 , - -161 , -507 , - -166 , -510 , - -170 , -504 , - -173 , -488 , - -174 , -464 , - -174 , -431 , - -172 , -390 , - -168 , -343 , - -162 , -290 , - -155 , -233 , - -146 , -174 , - -135 , -112 , - -124 , -51 , - -111 , 7 , - -98 , 64 , - -84 , 117 , - -70 , 164 , - -57 , 204 , - -45 , 237 , - -34 , 263 , - -24 , 280 , - -17 , 288 , - -11 , 288 , - -7 , 280 , - -6 , 265 , - -7 , 242 , - -10 , 214 , - -15 , 182 , - -22 , 146 , - -31 , 107 , - -40 , 68 , - -50 , 30 , - -60 , -6 , - -69 , -40 , - -78 , -69 , - -85 , -94 , - -90 , -112 , - -93 , -124 , - -94 , -129 , - -91 , -128 , - -85 , -120 , - -76 , -105 , - -64 , -85 , - -48 , -60 , - -30 , -30 , - -8 , 1 , - 14 , 34 , - 39 , 68 , - 66 , 101 , - 93 , 131 , - 120 , 158 , - 146 , 180 , - 172 , 197 , - 195 , 206 , - 216 , 209 , - 235 , 203 , - 250 , 190 , - 261 , 169 , - 269 , 140 , - 273 , 104 , - 274 , 61 , - 270 , 14 , - 264 , -38 , - 254 , -93 , - 242 , -150 , - 227 , -207 , - 211 , -263 , - 194 , -316 , - 177 , -365 , - 159 , -408 , - 143 , -445 , - 127 , -474 , - 114 , -494 , - 102 , -505 , - 92 , -507 , - 85 , -498 , - 80 , -481 , - 78 , -454 , - 78 , -418 , - 81 , -375 , - 84 , -325 , - 90 , -269 , - 96 , -209 , - 102 , -146 , - 108 , -81 , - 114 , -17 , - 118 , 45 , - 121 , 105 , - 121 , 161 , - 120 , 212 , - 115 , 256 , - 109 , 293 , - 99 , 321 , - 87 , 342 , - 72 , 353 , - 55 , 356 , - 37 , 351 , - 17 , 337 , - -2 , 316 , - -23 , 288 , - -43 , 254 , - -62 , 214 , - -80 , 171 , - -95 , 125 , - -108 , 77 , - -118 , 28 , - -124 , -19 , - -127 , -66 , - -126 , -111 , - -121 , -152 , - -113 , -190 , - -102 , -224 , - -87 , -252 , - -70 , -276 , - -51 , -295 , - -30 , -308 , - -9 , -317 , - 12 , -320 , - 33 , -320 , - 53 , -315 , - 71 , -307 , - 87 , -295 , - 101 , -282 , - 112 , -266 , - 120 , -249 , - 124 , -231 , - 125 , -213 , - 123 , -195 , - 118 , -177 , - 110 , -160 , - 100 , -144 , - 88 , -129 , - 75 , -114 , - 61 , -101 , - 47 , -89 , - 34 , -78 , - 22 , -68 , - 11 , -59 , - 2 , -49 , - -3 , -40 , - -7 , -31 , - -8 , -22 , - -6 , -12 , - -1 , -2 , - 5 , 8 , - 15 , 19 , - 27 , 31 , - 40 , 44 , - 55 , 58 , - 70 , 72 , - 85 , 87 , - 100 , 101 , - 114 , 116 , - 126 , 131 , - 136 , 145 , - 144 , 159 , - 149 , 172 , - 152 , 184 , - 151 , 194 , - 148 , 203 , - 141 , 211 , - 131 , 216 , - 119 , 220 , - 105 , 222 , - 88 , 222 , - 70 , 220 , - 51 , 216 , - 31 , 210 , - 11 , 202 , - -9 , 192 , - -29 , 181 , - -48 , 168 , - -66 , 154 , - -84 , 139 , - -100 , 123 , - -115 , 105 , - -129 , 88 , - -142 , 69 , - -154 , 50 , - -166 , 31 , - -177 , 12 , - -188 , -6 , - -199 , -24 , - -210 , -42 , - -222 , -60 , - -234 , -76 , - -247 , -92 , - -261 , -106 , - -274 , -119 , - -288 , -131 , - -302 , -140 , - -315 , -148 , - -327 , -154 , - -337 , -158 , - -345 , -159 , - -350 , -158 , - -352 , -154 , - -349 , -148 , - -342 , -139 , - -330 , -128 , - -313 , -114 , - -290 , -98 , - -261 , -80 , - -227 , -59 , - -187 , -37 , - -142 , -14 , - -93 , 10 , - -40 , 36 , - 15 , 62 , - 72 , 88 , - 130 , 113 , - 188 , 138 , - 244 , 161 , - 296 , 183 , - 344 , 203 , - 386 , 220 , - 421 , 234 , - 449 , 245 , - 467 , 252 , - 476 , 257 , - 474 , 257 , - 462 , 254 , - 440 , 247 , - 408 , 237 , - 366 , 223 , - 315 , 207 , - 256 , 187 , - 190 , 165 , - 118 , 141 , - 43 , 116 , - -34 , 90 , - -112 , 63 , - -190 , 35 , - -264 , 9 , - -335 , -16 , - -399 , -40 , - -457 , -63 , - -506 , -84 , - -545 , -102 , - -575 , -117 , - -594 , -129 , - -603 , -139 , - -601 , -145 , - -589 , -149 , - -567 , -149 , - -536 , -147 , - -498 , -142 , - -453 , -136 , - -403 , -127 , - -350 , -117 , - -294 , -105 , - -238 , -93 , - -183 , -81 , - -131 , -69 , - -82 , -57 , - -39 , -46 , - -1 , -37 , - 28 , -29 , - 52 , -23 , - 67 , -19 , - 74 , -17 , - 74 , -17 , - 66 , -20 , - 51 , -25 , - 30 , -32 , - 3 , -41 , - -27 , -52 , - -60 , -64 , - -96 , -78 , - -133 , -93 , - -169 , -109 , - -203 , -124 , - -235 , -140 , - -263 , -156 , - -287 , -171 , - -306 , -184 , - -320 , -197 , - -328 , -208 , - -330 , -218 , - -326 , -225 , - -317 , -231 , - -303 , -235 , - -285 , -236 , - -263 , -236 , - -238 , -233 , - -211 , -229 , - -183 , -222 , - -154 , -214 , - -126 , -205 , - -99 , -194 , - -74 , -182 , - -52 , -169 , - -33 , -156 , - -18 , -142 , - -6 , -127 , - 1 , -113 , - 5 , -98 , - 5 , -84 , - 2 , -69 , - -4 , -55 , - -12 , -42 , - -24 , -29 , - -36 , -17 , - -50 , -5 , - -64 , 6 , - -78 , 17 , - -92 , 28 , - -105 , 38 , - -116 , 48 , - -126 , 58 , - -133 , 67 , - -139 , 77 , - -144 , 86 , - -146 , 95 , - -147 , 104 , - -146 , 113 , - -144 , 121 , - -142 , 130 , - -139 , 138 , - -136 , 146 , - -134 , 153 , - -132 , 160 , - -132 , 166 , - -133 , 172 , - -135 , 177 , - -139 , 180 , - -144 , 183 , - -152 , 185 , - -160 , 186 , - -170 , 186 , - -181 , 185 , - -192 , 182 , - -204 , 179 , - -215 , 175 , - -227 , 169 , - -237 , 163 , - -245 , 156 , - -252 , 149 , - -257 , 141 , - -260 , 133 , - -260 , 125 , - -258 , 117 , - -253 , 109 , - -246 , 101 , - -237 , 94 , - -225 , 87 , - -212 , 81 , - -198 , 75 , - -182 , 70 , - -166 , 65 , - -150 , 62 , - -135 , 58 , - -121 , 56 , - -108 , 53 , - -96 , 51 , - -87 , 50 , - -80 , 48 , - -75 , 46 , - -73 , 45 , - -73 , 43 , - -76 , 40 , - -80 , 37 , - -86 , 34 , - -93 , 30 , - -100 , 26 , - -109 , 21 , - -116 , 15 , - -123 , 9 , - -129 , 3 , - -133 , -3 , - -135 , -10 , - -134 , -17 , - -130 , -24 , - -123 , -31 , - -113 , -37 , - -100 , -42 , - -84 , -47 , - -65 , -50 , - -43 , -53 , - -19 , -53 , - 5 , -53 , - 31 , -51 , - 58 , -47 , - 84 , -41 , - 109 , -34 , - 132 , -24 , - 153 , -14 , - 171 , -1 , - 186 , 12 , - 197 , 27 , - 203 , 44 , - 205 , 61 , - 203 , 80 , - 196 , 99 , - 185 , 118 , - 170 , 137 , - 151 , 157 , - 129 , 176 , - 105 , 194 , - 79 , 212 , - 52 , 229 , - 25 , 244 , - 0 , 258 , - -26 , 271 , - -49 , 281 , - -69 , 290 , - -86 , 296 , - -100 , 300 , - -108 , 302 , - -112 , 302 , - -112 , 299 , - -106 , 294 , - -96 , 286 , - -81 , 276 , - -62 , 263 , - -39 , 248 , - -14 , 231 , - 14 , 212 , - 44 , 191 , - 75 , 168 , - 107 , 144 , - 138 , 118 , - 167 , 92 , - 195 , 65 , - 220 , 39 , - 242 , 12 , - 260 , -13 , - 275 , -38 , - 285 , -62 , - 290 , -84 , - 291 , -104 , - 288 , -121 , - 281 , -135 , - 270 , -146 , - 255 , -153 , - 238 , -156 , - 218 , -156 , - 197 , -151 , - 174 , -142 , - 151 , -129 , - 129 , -112 , - 107 , -92 , - 86 , -68 , - 68 , -41 , - 51 , -11 , - 38 , 20 , - 27 , 53 , - 19 , 88 , - 15 , 122 , - 14 , 157 , - 15 , 190 , - 20 , 222 , - 27 , 251 , - 37 , 277 , - 48 , 300 , - 61 , 319 , - 75 , 333 , - 89 , 343 , - 103 , 347 , - 117 , 347 , - 130 , 341 , - 141 , 330 , - 151 , 315 , - 160 , 295 , - 166 , 271 , - 169 , 243 , - 171 , 213 , - 170 , 180 , - 166 , 146 , - 161 , 111 , - 153 , 76 , - 143 , 42 , - 132 , 9 , - 119 , -20 , - 105 , -48 , - 90 , -73 , - 75 , -94 , - 59 , -111 , - 43 , -124 , - 27 , -132 , - 12 , -135 , - -2 , -134 , - -16 , -129 , - -29 , -120 , - -41 , -108 , - -52 , -92 , - -62 , -73 , - -71 , -53 , - -79 , -31 , - -85 , -8 , - -90 , 15 , - -95 , 37 , - -98 , 59 , - -100 , 80 , - -101 , 99 , - -101 , 115 , - -100 , 130 , - -98 , 141 , - -95 , 150 , - -90 , 156 , - -85 , 159 , - -79 , 159 , - -72 , 157 , - -63 , 153 , - -54 , 147 , - -44 , 139 , - -33 , 130 , - -21 , 120 , - -8 , 110 , - 4 , 99 , - 17 , 89 , - 30 , 79 , - 42 , 69 , - 55 , 60 , - 66 , 52 , - 77 , 44 , - 86 , 38 , - 93 , 31 , - 99 , 26 , - 102 , 20 , - 103 , 15 , - 101 , 10 , - 97 , 4 , - 91 , -2 , - 82 , -9 , - 70 , -18 , - 57 , -28 , - 41 , -39 , - 23 , -52 , - 4 , -67 , - -14 , -83 , - -34 , -100 , - -54 , -118 , - -74 , -138 , - -92 , -158 , - -109 , -178 , - -124 , -198 , - -136 , -218 , - -146 , -237 , - -152 , -254 , - -155 , -270 , - -154 , -283 , - -150 , -294 , - -142 , -303 , - -131 , -308 , - -117 , -309 , - -100 , -308 , - -80 , -302 , - -59 , -294 , - -37 , -282 , - -14 , -267 , - 8 , -248 , - 31 , -228 , - 51 , -205 , - 70 , -180 , - 86 , -153 , - 98 , -126 , - 108 , -98 , - 113 , -69 , - 113 , -41 , - 110 , -14 , - 101 , 11 , - 89 , 36 , - 73 , 59 , - 52 , 81 , - 29 , 100 , - 3 , 118 , - -24 , 133 , - -54 , 147 , - -83 , 158 , - -113 , 168 , - -142 , 176 , - -168 , 183 , - -192 , 188 , - -213 , 193 , - -230 , 197 , - -243 , 200 , - -251 , 203 , - -255 , 206 , - -253 , 209 , - -246 , 212 , - -234 , 215 , - -218 , 218 , - -197 , 221 , - -173 , 224 , - -146 , 227 , - -117 , 230 , - -86 , 232 , - -54 , 234 , - -22 , 235 , - 8 , 234 , - 38 , 233 , - 65 , 231 , - 90 , 227 , - 111 , 221 , - 129 , 214 , - 142 , 205 , - 151 , 195 , - 155 , 182 , - 155 , 169 , - 151 , 154 , - 143 , 138 , - 131 , 121 , - 116 , 103 , - 98 , 85 , - 78 , 67 , - 56 , 49 , - 33 , 32 , - 10 , 15 , - -13 , 0 , - -36 , -13 , - -58 , -26 , - -79 , -36 , - -98 , -45 , - -116 , -52 , - -132 , -56 , - -146 , -58 , - -158 , -59 , - -169 , -57 , - -178 , -53 , - -186 , -47 , - -193 , -40 , - -199 , -31 , - -205 , -21 , - -211 , -10 , - -217 , 0 , - -223 , 12 , - -230 , 24 , - -237 , 36 , - -244 , 47 , - -252 , 58 , - -261 , 69 , - -269 , 78 , - -276 , 86 , - -283 , 93 , - -288 , 99 , - -292 , 104 , - -294 , 107 , - -292 , 108 , - -288 , 109 , - -280 , 108 , - -268 , 105 , - -252 , 102 , - -231 , 98 , - -206 , 93 , - -177 , 87 , - -143 , 80 , - -105 , 73 , - -65 , 66 , - -21 , 58 , - 24 , 51 , - 72 , 44 , - 120 , 37 , - 168 , 31 , - 214 , 25 , - 259 , 21 , - 301 , 17 , - 338 , 15 , - 371 , 13 , - 399 , 13 , - 420 , 14 , - 435 , 17 , - 444 , 21 , - 445 , 26 , - 440 , 32 , - 428 , 39 , - 410 , 47 , - 386 , 55 , - 356 , 64 , - 323 , 73 , - 285 , 82 , - 246 , 91 , - 204 , 98 , - 162 , 105 , - 120 , 110 , - 80 , 114 , - 42 , 115 , - 7 , 115 , - -23 , 112 , - -50 , 106 , - -72 , 98 , - -89 , 86 , - -100 , 72 , - -106 , 55 , - -107 , 36 , - -103 , 14 , - -95 , -9 , - -83 , -34 , - -67 , -61 , - -49 , -89 , - -30 , -116 , - -9 , -144 , - 11 , -170 , - 31 , -195 , - 51 , -217 , - 68 , -237 , - 83 , -253 , - 95 , -266 , - 105 , -274 , - 111 , -277 , - 114 , -276 , - 114 , -269 , - 112 , -257 , - 106 , -240 , - 99 , -218 , - 90 , -191 , - 79 , -160 , - 68 , -124 , - 57 , -86 , - 46 , -45 , - 37 , -2 , - 28 , 41 , - 22 , 85 , - 17 , 129 , - 15 , 172 , - 15 , 212 , - 17 , 249 , - 21 , 283 , - 27 , 312 , - 35 , 336 , - 44 , 355 , - 53 , 369 , - 62 , 376 , - 71 , 378 , - 79 , 374 , - 85 , 364 , - 88 , 348 , - 90 , 328 , - 88 , 303 , - 84 , 274 , - 76 , 241 , - 64 , 206 , - 50 , 169 , - 33 , 131 , - 13 , 92 , - -8 , 53 , - -32 , 15 , - -57 , -20 , - -82 , -55 , - -107 , -87 , - -130 , -115 , - -152 , -141 , - -170 , -163 , - -186 , -181 , - -198 , -195 , - -205 , -206 , - -209 , -213 , - -207 , -216 , - -200 , -215 , - -189 , -212 , - -174 , -205 , - -154 , -196 , - -131 , -185 , - -105 , -171 , - -78 , -156 , - -48 , -140 , - -19 , -123 , - 9 , -105 , - 36 , -86 , - 60 , -67 , - 82 , -48 , - 99 , -29 , - 111 , -11 , - 118 , 7 , - 120 , 24 , - 115 , 42 , - 105 , 58 , - 88 , 75 , - 66 , 90 , - 39 , 105 , - 8 , 118 , - -27 , 131 , - -65 , 143 , - -106 , 154 , - -147 , 164 , - -189 , 172 , - -229 , 180 , - -268 , 186 , - -303 , 190 , - -334 , 193 , - -361 , 195 , - -381 , 195 , - -396 , 193 , - -404 , 189 , - -406 , 185 , - -401 , 178 , - -388 , 170 , - -370 , 161 , - -345 , 151 , - -315 , 140 , - -280 , 129 , - -240 , 117 , - -198 , 104 , - -153 , 92 , - -106 , 80 , - -59 , 68 , - -12 , 57 , - 33 , 46 , - 77 , 37 , - 119 , 28 , - 157 , 21 , - 191 , 15 , - 222 , 9 , - 248 , 5 , - 269 , 1 , - 286 , 0 , - 299 , -2 , - 308 , -4 , - 312 , -6 , - 314 , -8 , - 312 , -9 , - 307 , -12 , - 300 , -15 , - 291 , -18 , - 281 , -23 , - 271 , -28 , - 259 , -34 , - 248 , -41 , - 236 , -49 , - 225 , -57 , - 214 , -66 , - 203 , -75 , - 193 , -83 , - 183 , -92 , - 174 , -99 , - 165 , -105 , - 155 , -110 , - 146 , -112 , - 136 , -113 , - 125 , -112 , - 114 , -108 , - 102 , -101 , - 89 , -92 , - 75 , -80 , - 61 , -65 , - 45 , -48 , - 29 , -28 , - 13 , -7 , - -2 , 15 , - -17 , 39 , - -32 , 63 , - -46 , 88 , - -58 , 113 , - -68 , 137 , - -76 , 159 , - -81 , 180 , - -83 , 198 , - -82 , 214 , - -78 , 228 , - -70 , 238 , - -58 , 245 , - -43 , 249 , - -25 , 249 , - -4 , 247 , - 19 , 242 , - 45 , 235 , - 72 , 225 , - 101 , 214 , - 130 , 201 , - 159 , 188 , - 187 , 174 , - 213 , 160 , - 238 , 147 , - 259 , 135 , - 278 , 124 , - 292 , 114 , - 303 , 107 , - 309 , 101 , - 310 , 98 , - 307 , 96 , - 299 , 95 , - 287 , 97 , - 271 , 99 , - 251 , 103 , - 227 , 107 , - 200 , 110 , - 171 , 113 , - 141 , 116 , - 109 , 116 , - 77 , 115 , - 45 , 112 , - 15 , 106 , - -13 , 97 , - -40 , 85 , - -65 , 70 , - -86 , 52 , - -103 , 31 , - -118 , 8 , - -128 , -17 , - -134 , -45 , - -137 , -74 , - -136 , -105 , - -131 , -135 , - -124 , -166 , - -114 , -195 , - -101 , -223 , - -87 , -249 , - -71 , -272 , - -55 , -293 , - -39 , -309 , - -22 , -322 , - -7 , -331 , - 6 , -335 , - 19 , -336 , - 30 , -332 , - 38 , -324 , - 45 , -312 , - 48 , -297 , - 50 , -278 , - 48 , -258 , - 45 , -235 , - 39 , -211 , - 31 , -186 , - 22 , -160 , - 11 , -134 , - 0 , -109 , - -12 , -86 , - -25 , -63 , - -37 , -42 , - -49 , -23 , - -59 , -6 , - -69 , 7 , - -77 , 20 , - -83 , 31 , - -88 , 40 , - -90 , 47 , - -90 , 53 , - -87 , 58 , - -83 , 62 , - -76 , 65 , - -68 , 68 , - -57 , 70 , - -45 , 73 , - -32 , 77 , - -17 , 80 , - -2 , 84 , - 13 , 89 , - 29 , 93 , - 45 , 98 , - 61 , 103 , - 76 , 108 , - 90 , 112 , - 102 , 116 , - 114 , 118 , - 123 , 119 , - 131 , 118 , - 137 , 116 , - 142 , 112 , - 144 , 105 , - 144 , 96 , - 142 , 85 , - 138 , 72 , - 132 , 57 , - 124 , 40 , - 115 , 22 , - 104 , 3 , - 91 , -16 , - 78 , -35 , - 63 , -54 , - 48 , -72 , - 32 , -88 , - 16 , -102 , - 0 , -113 , - -16 , -121 , - -32 , -125 , - -47 , -125 , - -61 , -121 , - -75 , -113 , - -86 , -100 , - -97 , -84 , - -106 , -63 , - -112 , -38 , - -117 , -10 , - -120 , 20 , - -121 , 53 , - -120 , 87 , - -116 , 123 , - -111 , 158 , - -103 , 193 , - -94 , 226 , - -83 , 257 , - -70 , 285 , - -57 , 309 , - -42 , 330 , - -27 , 346 , - -12 , 357 , - 2 , 364 , - 16 , 365 , - 29 , 361 , - 41 , 352 , - 50 , 339 , - 58 , 321 , - 63 , 299 , - 66 , 274 , - 65 , 246 , - 61 , 217 , - 54 , 185 , - 44 , 154 , - 30 , 122 , - 14 , 91 , - -5 , 62 , - -27 , 34 , - -51 , 9 , - -77 , -12 , - -104 , -31 , - -132 , -46 , - -159 , -57 , - -187 , -65 , - -213 , -69 , - -237 , -69 , - -259 , -66 , - -278 , -59 , - -293 , -50 , - -304 , -38 , - -311 , -24 , - -314 , -8 , - -311 , 8 , - -303 , 26 , - -291 , 44 , - -273 , 63 , - -251 , 81 , - -225 , 98 , - -196 , 115 , - -163 , 131 , - -128 , 146 , - -91 , 159 , - -53 , 171 , - -15 , 182 , - 22 , 192 , - 58 , 200 , - 91 , 208 , - 122 , 214 , - 149 , 219 , - 172 , 224 , - 190 , 228 , - 203 , 232 , - 211 , 234 , - 214 , 237 , - 211 , 239 , - 203 , 240 , - 190 , 242 , - 173 , 242 , - 151 , 242 , - 126 , 241 , - 99 , 239 , - 69 , 236 , - 38 , 233 , - 7 , 227 , - -23 , 221 , - -52 , 213 , - -80 , 204 , - -105 , 193 , - -126 , 181 , - -144 , 167 , - -158 , 152 , - -168 , 136 , - -173 , 120 , - -174 , 102 , - -171 , 84 , - -163 , 65 , - -151 , 47 , - -136 , 29 , - -118 , 11 , - -98 , -4 , - -76 , -20 , - -53 , -34 , - -29 , -46 , - -6 , -56 , - 16 , -65 , - 37 , -71 , - 57 , -75 , - 74 , -77 , - 89 , -78 , - 101 , -76 , - 111 , -73 , - 117 , -68 , - 122 , -61 , - 123 , -54 , - 122 , -46 , - 120 , -38 , - 116 , -29 , - 111 , -20 , - 105 , -12 , - 100 , -5 , - 94 , 1 , - 90 , 7 , - 87 , 11 , - 85 , 15 , - 86 , 17 , - 88 , 18 , - 92 , 18 , - 99 , 17 , - 108 , 16 , - 118 , 13 , - 131 , 11 , - 145 , 8 , - 160 , 5 , - 176 , 3 , - 192 , 1 , - 208 , 0 , - 224 , 0 , - 238 , 0 , - 252 , 2 , - 264 , 5 , - 274 , 9 , - 281 , 14 , - 287 , 21 , - 290 , 28 , - 291 , 37 , - 289 , 46 , - 286 , 55 , - 281 , 65 , - 274 , 74 , - 266 , 84 , - 257 , 92 , - 247 , 100 , - 238 , 107 , - 228 , 112 , - 219 , 117 , - 210 , 119 , - 203 , 120 , - 196 , 120 , - 191 , 118 , - 187 , 114 , - 183 , 110 , - 181 , 104 , - 180 , 97 , - 179 , 89 , - 179 , 80 , - 178 , 72 , - 178 , 62 , - 176 , 53 , - 174 , 45 , - 170 , 36 , - 165 , 28 , - 158 , 21 , - 150 , 14 , - 139 , 8 , - 127 , 2 , - 114 , -2 , - 98 , -7 , - 82 , -12 , - 65 , -17 , - 48 , -22 , - 31 , -28 , - 15 , -34 , - 0 , -42 , - -12 , -51 , - -23 , -61 , - -32 , -72 , - -37 , -85 , - -40 , -100 , - -38 , -116 , - -33 , -133 , - -25 , -152 , - -13 , -172 , - 1 , -192 , - 19 , -212 , - 40 , -232 , - 62 , -252 , - 85 , -270 , - 109 , -287 , - 132 , -302 , - 155 , -314 , - 175 , -323 , - 193 , -330 , - 208 , -332 , - 219 , -331 , - 226 , -326 , - 228 , -317 , - 226 , -304 , - 219 , -288 , - 207 , -269 , - 192 , -246 , - 172 , -222 , - 149 , -195 , - 123 , -168 , - 96 , -139 , - 68 , -112 , - 40 , -85 , - 13 , -60 , - -10 , -38 , - -32 , -19 , - -49 , -3 , - -62 , 7 , - -70 , 14 , - -71 , 15 , - -66 , 12 , - -54 , 3 , - -36 , -9 , - -12 , -27 , - 17 , -49 , - 52 , -75 , - 92 , -103 , - 136 , -134 , - 181 , -166 , - 228 , -198 , - 275 , -230 , - 321 , -260 , - 364 , -287 , - 404 , -311 , - 438 , -331 , - 466 , -346 , - 488 , -354 , - 502 , -357 , - 507 , -353 , - 504 , -342 , - 492 , -325 , - 471 , -301 , - 442 , -270 , - 406 , -234 , - 362 , -192 , - 312 , -146 , - 257 , -96 , - 198 , -44 , - 137 , 9 , - 74 , 64 , - 12 , 117 , - -48 , 169 , - -106 , 219 , - -160 , 264 , - -208 , 305 , - -251 , 341 , - -286 , 370 , - -313 , 393 , - -333 , 408 , - -344 , 416 , - -347 , 417 , - -342 , 411 , - -329 , 398 , - -309 , 378 , - -283 , 353 , - -251 , 322 , - -214 , 286 , - -174 , 247 , - -131 , 204 , - -87 , 160 , - -42 , 114 , - 1 , 69 , - 43 , 23 , - 84 , -19 , - 121 , -61 , - 155 , -100 , - 184 , -136 , - 209 , -168 , - 230 , -196 , - 247 , -220 , - 258 , -239 , - 266 , -255 , - 270 , -266 , - 271 , -272 , - 268 , -275 , - 264 , -275 , - 257 , -270 , - 249 , -263 , - 241 , -254 , - 231 , -241 , - 222 , -227 , - 213 , -212 , - 205 , -195 , - 198 , -176 , - 191 , -157 , - 185 , -137 , - 181 , -117 , - 176 , -96 , - 173 , -75 , - 169 , -53 , - 166 , -32 , - 162 , -10 , - 157 , 11 , - 152 , 32 , - 146 , 54 , - 138 , 75 , - 130 , 96 , - 119 , 117 , - 108 , 137 , - 95 , 155 , - 80 , 173 , - 65 , 190 , - 49 , 205 , - 33 , 218 , - 17 , 229 , - 1 , 238 , - -14 , 245 , - -28 , 249 , - -41 , 251 , - -52 , 249 , - -62 , 245 , - -69 , 239 , - -74 , 229 , - -76 , 218 , - -77 , 204 , - -75 , 189 , - -71 , 171 , - -65 , 153 , - -58 , 134 , - -50 , 115 , - -41 , 95 , - -33 , 76 , - -24 , 58 , - -16 , 40 , - -9 , 24 , - -4 , 9 , - -1 , -3 , - 0 , -15 , - -1 , -25 , - -4 , -34 , - -10 , -41 , - -19 , -47 , - -30 , -53 , - -42 , -57 , - -57 , -62 , - -73 , -67 , - -90 , -73 , - -107 , -80 , - -124 , -87 , - -141 , -96 , - -156 , -107 , - -170 , -120 , - -181 , -134 , - -191 , -149 , - -197 , -166 , - -200 , -184 , - -200 , -202 , - -197 , -220 , - -190 , -238 , - -180 , -255 , - -167 , -270 , - -151 , -282 , - -132 , -291 , - -111 , -296 , - -89 , -297 , - -65 , -293 , - -41 , -284 , - -16 , -269 , - 7 , -249 , - 30 , -223 , - 52 , -192 , - 72 , -156 , - 90 , -116 , - 105 , -72 , - 118 , -25 , - 128 , 23 , - 134 , 72 , - 138 , 120 , - 138 , 167 , - 136 , 212 , - 130 , 252 , - 122 , 286 , - 112 , 315 , - 99 , 336 , - 84 , 349 , - 68 , 354 , - 50 , 350 , - 32 , 337 , - 12 , 316 , - -7 , 285 , - -28 , 247 , - -48 , 202 , - -69 , 151 , - -89 , 94 , - -109 , 34 , - -128 , -26 , - -147 , -89 , - -165 , -150 , - -182 , -209 , - -198 , -264 , - -214 , -313 , - -228 , -355 , - -241 , -390 , - -254 , -416 , - -265 , -432 , - -274 , -439 , - -283 , -435 , - -290 , -422 , - -295 , -400 , - -298 , -369 , - -300 , -330 , - -300 , -284 , - -298 , -233 , - -294 , -178 , - -288 , -120 , - -280 , -61 , - -270 , -4 , - -258 , 51 , - -245 , 103 , - -230 , 149 , - -214 , 190 , - -197 , 223 , - -179 , 249 , - -161 , 266 , - -142 , 274 , - -123 , 274 , - -104 , 265 , - -87 , 249 , - -69 , 225 , - -53 , 196 , - -38 , 162 , - -25 , 124 , - -13 , 84 , - -2 , 43 , - 6 , 3 , - 13 , -34 , - 19 , -68 , - 24 , -98 , - 28 , -122 , - 31 , -140 , - 34 , -151 , - 35 , -155 , - 37 , -151 , - 39 , -140 , - 41 , -122 , - 44 , -97 , - 47 , -68 , - 51 , -33 , - 55 , 3 , - 61 , 42 , - 67 , 82 , - 74 , 121 , - 81 , 157 , - 89 , 190 , - 97 , 218 , - 105 , 241 , - 112 , 256 , - 119 , 263 , - 124 , 262 , - 129 , 253 , - 132 , 235 , - 133 , 209 , - 132 , 174 , - 130 , 133 , - 125 , 85 , - 118 , 32 , - 110 , -24 , - 100 , -84 , - 88 , -145 , - 75 , -205 , - 61 , -265 , - 46 , -321 , - 32 , -372 , - 17 , -419 , - 4 , -458 , - -7 , -490 , - -18 , -513 , - -27 , -528 , - -33 , -534 , - -37 , -531 , - -38 , -519 , - -37 , -499 , - -33 , -470 , - -26 , -435 , - -16 , -394 , - -4 , -349 , - 9 , -299 , - 24 , -247 , - 40 , -194 , - 58 , -141 , - 75 , -89 , - 91 , -40 , - 107 , 4 , - 121 , 45 , - 133 , 81 , - 143 , 110 , - 150 , 133 , - 154 , 149 , - 155 , 157 , - 153 , 159 , - 147 , 155 , - 139 , 143 , - 128 , 126 , - 114 , 104 , - 98 , 78 , - 81 , 47 , - 62 , 14 , - 43 , -19 , - 24 , -55 , - 5 , -91 , - -11 , -125 , - -27 , -158 , - -41 , -188 , - -52 , -215 , - -61 , -239 , - -67 , -257 , - -69 , -272 , - -68 , -281 , - -65 , -286 , - -58 , -285 , - -49 , -280 , - -38 , -270 , - -25 , -256 , - -10 , -237 , - 4 , -216 , - 19 , -191 , - 35 , -164 , - 49 , -136 , - 62 , -106 , - 73 , -76 , - 83 , -47 , - 89 , -18 , - 94 , 8 , - 95 , 33 , - 93 , 56 , - 89 , 76 , - 83 , 92 , - 74 , 105 , - 63 , 115 , - 50 , 120 , - 37 , 121 , - 23 , 119 , - 9 , 113 , - -4 , 103 , - -16 , 90 , - -27 , 74 , - -36 , 55 , - -42 , 35 , - -46 , 12 , - -47 , -10 , - -45 , -34 , - -40 , -58 , - -32 , -81 , - -21 , -104 , - -7 , -125 , - 7 , -144 , - 25 , -160 , - 44 , -174 , - 63 , -185 , - 82 , -193 , - 102 , -197 , - 120 , -198 , - 136 , -196 , - 151 , -191 , - 163 , -182 , - 172 , -171 , - 178 , -158 , - 181 , -142 , - 179 , -125 , - 175 , -106 , - 167 , -87 , - 155 , -68 , - 141 , -48 , - 124 , -29 , - 104 , -11 , - 83 , 5 , - 60 , 21 , - 37 , 35 , - 14 , 47 , - -8 , 58 , - -30 , 68 , - -51 , 75 , - -69 , 82 , - -85 , 87 , - -98 , 92 , - -107 , 97 , - -114 , 101 , - -117 , 106 , - -116 , 112 , - -112 , 119 , - -104 , 128 , - -93 , 138 , - -79 , 150 , - -63 , 164 , - -44 , 181 , - -24 , 199 , - -2 , 220 , - 19 , 242 , - 42 , 266 , - 65 , 290 , - 87 , 315 , - 108 , 340 , - 128 , 364 , - 146 , 387 , - 162 , 408 , - 177 , 426 , - 188 , 442 , - 198 , 454 , - 205 , 462 , - 209 , 466 , - 212 , 466 , - 212 , 462 , - 210 , 453 , - 207 , 439 , - 202 , 422 , - 196 , 402 , - 189 , 379 , - 181 , 353 , - 173 , 327 , - 166 , 299 , - 158 , 271 , - 151 , 245 , - 145 , 220 , - 141 , 198 , - 137 , 178 , - 135 , 162 , - 134 , 151 , - 134 , 143 , - 136 , 140 , - 139 , 142 , - 144 , 148 , - 149 , 158 , - 155 , 171 , - 162 , 187 , - 169 , 205 , - 176 , 224 , - 183 , 243 , - 189 , 261 , - 194 , 278 , - 197 , 292 , - 200 , 302 , - 200 , 307 , - 198 , 307 , - 194 , 301 , - 188 , 289 , - 178 , 270 , - 167 , 245 , - 152 , 213 , - 135 , 176 , - 116 , 132 , - 95 , 85 , - 71 , 33 , - 46 , -21 , - 19 , -77 , - -7 , -133 , - -35 , -188 , - -63 , -242 , - -91 , -291 , - -117 , -336 , - -142 , -376 , - -166 , -409 , - -187 , -435 , - -205 , -453 , - -221 , -463 , - -233 , -465 , - -242 , -458 , - -247 , -444 , - -248 , -423 , - -246 , -396 , - -241 , -363 , - -232 , -326 , - -219 , -285 , - -204 , -243 , - -187 , -200 , - -168 , -158 , - -147 , -117 , - -125 , -80 , - -102 , -46 , - -80 , -18 , - -58 , 4 , - -37 , 21 , - -17 , 32 , - 0 , 36 , - 16 , 35 , - 30 , 27 , - 41 , 14 , - 50 , -2 , - 57 , -23 , - 62 , -46 , - 64 , -71 , - 64 , -97 , - 63 , -122 , - 61 , -145 , - 58 , -165 , - 54 , -182 , - 51 , -194 , - 48 , -201 , - 46 , -203 , - 46 , -199 , - 47 , -190 , - 50 , -174 , - 55 , -154 , - 62 , -128 , - 71 , -99 , - 83 , -66 , - 97 , -30 , - 113 , 6 , - 131 , 44 , - 150 , 81 , - 170 , 117 , - 190 , 151 , - 210 , 182 , - 231 , 210 , - 250 , 233 , - 268 , 253 , - 284 , 267 , - 298 , 278 , - 309 , 284 , - 318 , 286 , - 324 , 285 , - 328 , 280 , - 328 , 274 , - 325 , 266 , - 320 , 256 , - 313 , 247 , - 303 , 239 , - 292 , 231 , - 279 , 225 , - 265 , 222 , - 251 , 221 , - 237 , 222 , - 223 , 227 , - 211 , 233 , - 199 , 242 , - 189 , 252 , - 181 , 264 , - 174 , 276 , - 169 , 288 , - 167 , 299 , - 166 , 308 , - 166 , 314 , - 168 , 317 , - 172 , 316 , - 176 , 311 , - 180 , 301 , - 184 , 286 , - 188 , 266 , - 191 , 241 , - 193 , 211 , - 193 , 178 , - 192 , 141 , - 188 , 102 , - 183 , 62 , - 175 , 21 , - 165 , -18 , - 153 , -57 , - 140 , -93 , - 125 , -124 , - 108 , -151 , - 91 , -171 , - 74 , -186 , - 56 , -193 , - 39 , -193 , - 23 , -185 , - 9 , -170 , - -3 , -148 , - -13 , -120 , - -21 , -86 , - -27 , -48 , - -30 , -6 , - -30 , 38 , - -27 , 83 , - -22 , 128 , - -14 , 162 , - -5 , 174 , - 2 , 160 , - 5 , 125 , - 5 , 77 , - 2 , 31 , - -1 , 0 , - -1 , -6 , - -1 , -3 , - -1 , -2 , - -1 , -1 , - -1 , -1 , - -1 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 14 , 1 , - 48 , 0 , - 95 , -4 , - 148 , -13 , - 196 , -24 , - 232 , -33 , - 250 , -38 , - 246 , -36 , - 234 , -30 , - 223 , -21 , - 212 , -7 , - 201 , 8 , - 189 , 28 , - 178 , 49 , - 166 , 72 , - 154 , 96 , - 143 , 120 , - 131 , 145 , - 119 , 168 , - 106 , 190 , - 93 , 210 , - 79 , 228 , - 65 , 243 , - 49 , 255 , - 33 , 263 , - 15 , 268 , - -2 , 268 , - -21 , 266 , - -42 , 259 , - -62 , 249 , - -84 , 237 , - -105 , 221 , - -127 , 203 , - -148 , 184 , - -168 , 163 , - -188 , 142 , - -206 , 121 , - -222 , 100 , - -237 , 81 , - -249 , 63 , - -260 , 47 , - -267 , 34 , - -272 , 24 , - -275 , 17 , - -275 , 14 , - -273 , 14 , - -269 , 17 , - -263 , 24 , - -255 , 34 , - -247 , 47 , - -237 , 62 , - -227 , 80 , - -217 , 99 , - -208 , 119 , - -199 , 140 , - -191 , 161 , - -185 , 181 , - -180 , 200 , - -176 , 217 , - -174 , 232 , - -174 , 245 , - -175 , 254 , - -177 , 259 , - -181 , 261 , - -184 , 259 , - -189 , 253 , - -193 , 243 , - -196 , 228 , - -199 , 210 , - -200 , 188 , - -200 , 163 , - -198 , 135 , - -194 , 104 , - -188 , 71 , - -179 , 37 , - -168 , 2 , - -155 , -32 , - -140 , -66 , - -123 , -100 , - -106 , -131 , - -87 , -160 , - -68 , -186 , - -50 , -208 , - -32 , -227 , - -15 , -240 , - -1 , -249 , - 11 , -253 , - 21 , -251 , - 28 , -244 , - 31 , -232 , - 32 , -214 , - 30 , -192 , - 24 , -165 , - 16 , -134 , - 6 , -100 , - -5 , -63 , - -19 , -23 , - -33 , 16 , - -47 , 58 , - -60 , 99 , - -72 , 138 , - -82 , 176 , - -89 , 211 , - -93 , 243 , - -93 , 271 , - -88 , 293 , - -80 , 311 , - -67 , 322 , - -51 , 328 , - -30 , 327 , - -6 , 321 , - 20 , 308 , - 50 , 290 , - 80 , 266 , - 112 , 237 , - 143 , 204 , - 172 , 167 , - 200 , 128 , - 224 , 86 , - 244 , 44 , - 259 , 1 , - 269 , -40 , - 273 , -80 , - 271 , -118 , - 262 , -153 , - 247 , -183 , - 225 , -210 , - 198 , -231 , - 166 , -247 , - 130 , -258 , - 91 , -263 , - 49 , -263 , - 5 , -258 , - -37 , -248 , - -79 , -234 , - -118 , -216 , - -155 , -196 , - -186 , -173 , - -213 , -149 , - -233 , -124 , - -247 , -100 , - -254 , -77 , - -254 , -55 , - -246 , -37 , - -232 , -21 , - -212 , -8 , - -186 , 0 , - -155 , 3 , - -121 , 3 , - -84 , 0 , - -46 , -8 , - -8 , -20 , - 28 , -36 , - 62 , -54 , - 93 , -75 , - 120 , -97 , - 141 , -121 , - 155 , -144 , - 163 , -167 , - 164 , -188 , - 158 , -207 , - 145 , -224 , - 125 , -237 , - 100 , -247 , - 68 , -253 , - 33 , -254 , - -5 , -251 , - -45 , -243 , - -87 , -231 , - -128 , -214 , - -168 , -194 , - -204 , -170 , - -237 , -143 , - -264 , -113 , - -285 , -81 , - -300 , -48 , - -307 , -14 , - -307 , 19 , - -299 , 52 , - -284 , 84 , - -262 , 115 , - -234 , 143 , - -200 , 169 , - -161 , 191 , - -118 , 211 , - -73 , 226 , - -27 , 239 , - 18 , 248 , - 64 , 253 , - 106 , 254 , - 146 , 252 , - 180 , 247 , - 210 , 239 , - 233 , 229 , - 250 , 216 , - 259 , 201 , - 262 , 184 , - 258 , 165 , - 247 , 145 , - 230 , 125 , - 207 , 103 , - 179 , 81 , - 148 , 59 , - 113 , 36 , - 77 , 14 , - 39 , -7 , - 2 , -29 , - -33 , -50 , - -66 , -70 , - -97 , -89 , - -123 , -107 , - -145 , -124 , - -162 , -139 , - -173 , -153 , - -179 , -165 , - -179 , -175 , - -173 , -183 , - -161 , -188 , - -145 , -191 , - -124 , -192 , - -99 , -190 , - -70 , -185 , - -39 , -178 , - -6 , -168 , - 27 , -156 , - 61 , -142 , - 95 , -125 , - 128 , -107 , - 159 , -88 , - 188 , -68 , - 215 , -47 , - 238 , -26 , - 259 , -6 , - 275 , 12 , - 289 , 30 , - 299 , 46 , - 306 , 60 , - 310 , 71 , - 311 , 79 , - 309 , 83 , - 306 , 84 , - 300 , 82 , - 294 , 76 , - 286 , 67 , - 277 , 55 , - 269 , 40 , - 260 , 22 , - 251 , 3 , - 244 , -17 , - 237 , -38 , - 230 , -60 , - 225 , -81 , - 221 , -101 , - 218 , -119 , - 216 , -134 , - 215 , -147 , - 215 , -157 , - 216 , -162 , - 218 , -164 , - 220 , -162 , - 222 , -155 , - 225 , -145 , - 227 , -130 , - 230 , -112 , - 232 , -91 , - 233 , -67 , - 234 , -41 , - 234 , -13 , - 233 , 14 , - 231 , 43 , - 228 , 72 , - 223 , 99 , - 217 , 125 , - 209 , 149 , - 200 , 170 , - 189 , 188 , - 176 , 203 , - 161 , 214 , - 145 , 222 , - 127 , 227 , - 108 , 228 , - 87 , 227 , - 65 , 222 , - 42 , 215 , - 18 , 207 , - -6 , 197 , - -31 , 186 , - -55 , 175 , - -80 , 164 , - -103 , 154 , - -125 , 145 , - -146 , 137 , - -165 , 132 , - -181 , 128 , - -195 , 126 , - -205 , 127 , - -212 , 129 , - -216 , 134 , - -216 , 140 , - -213 , 148 , - -205 , 157 , - -194 , 167 , - -179 , 177 , - -161 , 187 , - -140 , 197 , - -115 , 206 , - -89 , 214 , - -60 , 220 , - -30 , 225 , - 0 , 228 , - 32 , 229 , - 63 , 228 , - 94 , 225 , - 124 , 220 , - 152 , 213 , - 178 , 205 , - 202 , 195 , - 222 , 185 , - 240 , 173 , - 255 , 161 , - 266 , 149 , - 273 , 137 , - 278 , 125 , - 279 , 113 , - 277 , 102 , - 272 , 91 , - 265 , 81 , - 256 , 71 , - 245 , 62 , - 233 , 52 , - 220 , 43 , - 207 , 32 , - 193 , 22 , - 180 , 10 , - 167 , -2 , - 155 , -16 , - 144 , -32 , - 134 , -49 , - 125 , -68 , - 118 , -89 , - 112 , -111 , - 107 , -135 , - 103 , -160 , - 101 , -185 , - 99 , -211 , - 98 , -237 , - 97 , -262 , - 96 , -286 , - 96 , -308 , - 95 , -327 , - 93 , -343 , - 91 , -356 , - 88 , -365 , - 84 , -369 , - 80 , -369 , - 74 , -364 , - 67 , -354 , - 59 , -339 , - 50 , -320 , - 40 , -296 , - 29 , -268 , - 17 , -237 , - 4 , -204 , - -8 , -168 , - -21 , -131 , - -36 , -94 , - -50 , -57 , - -64 , -21 , - -79 , 11 , - -94 , 42 , - -109 , 70 , - -123 , 94 , - -138 , 113 , - -152 , 128 , - -166 , 139 , - -180 , 145 , - -193 , 146 , - -206 , 143 , - -219 , 137 , - -230 , 127 , - -241 , 115 , - -251 , 101 , - -260 , 85 , - -267 , 70 , - -274 , 54 , - -278 , 40 , - -281 , 27 , - -282 , 17 , - -281 , 10 , - -278 , 6 , - -273 , 6 , - -266 , 9 , - -257 , 16 , - -246 , 27 , - -233 , 41 , - -219 , 58 , - -203 , 77 , - -186 , 98 , - -168 , 120 , - -150 , 142 , - -132 , 164 , - -115 , 185 , - -99 , 204 , - -84 , 221 , - -72 , 235 , - -61 , 245 , - -53 , 251 , - -48 , 253 , - -46 , 251 , - -47 , 245 , - -51 , 235 , - -59 , 221 , - -69 , 203 , - -82 , 183 , - -97 , 161 , - -114 , 137 , - -133 , 113 , - -152 , 88 , - -171 , 65 , - -189 , 43 , - -207 , 23 , - -222 , 6 , - -234 , -6 , - -244 , -16 , - -249 , -22 , - -251 , -24 , - -248 , -22 , - -240 , -15 , - -228 , -5 , - -211 , 7 , - -190 , 24 , - -166 , 42 , - -137 , 62 , - -106 , 83 , - -73 , 105 , - -39 , 125 , - -4 , 145 , - 29 , 162 , - 61 , 177 , - 92 , 188 , - 118 , 197 , - 141 , 201 , - 159 , 201 , - 171 , 198 , - 178 , 190 , - 178 , 178 , - 172 , 163 , - 159 , 144 , - 140 , 123 , - 115 , 100 , - 85 , 74 , - 50 , 48 , - 11 , 22 , - -30 , -4 , - -74 , -29 , - -120 , -54 , - -165 , -76 , - -209 , -96 , - -251 , -114 , - -290 , -128 , - -325 , -140 , - -356 , -149 , - -381 , -155 , - -400 , -158 , - -412 , -158 , - -418 , -156 , - -417 , -152 , - -410 , -147 , - -397 , -140 , - -377 , -132 , - -353 , -123 , - -323 , -115 , - -289 , -106 , - -252 , -98 , - -213 , -90 , - -172 , -83 , - -130 , -77 , - -88 , -72 , - -47 , -67 , - -7 , -63 , - 30 , -60 , - 66 , -57 , - 99 , -54 , - 129 , -51 , - 156 , -48 , - 179 , -44 , - 200 , -40 , - 217 , -35 , - 232 , -29 , - 243 , -22 , - 253 , -14 , - 260 , -6 , - 266 , 3 , - 270 , 13 , - 273 , 24 , - 275 , 35 , - 276 , 45 , - 277 , 56 , - 276 , 65 , - 275 , 74 , - 273 , 81 , - 270 , 86 , - 266 , 90 , - 260 , 92 , - 253 , 91 , - 244 , 88 , - 232 , 82 , - 219 , 75 , - 203 , 65 , - 184 , 53 , - 163 , 39 , - 139 , 24 , - 112 , 7 , - 83 , -9 , - 52 , -26 , - 19 , -43 , - -14 , -60 , - -49 , -76 , - -84 , -90 , - -119 , -103 , - -153 , -114 , - -186 , -122 , - -216 , -128 , - -244 , -132 , - -268 , -132 , - -289 , -130 , - -306 , -126 , - -320 , -119 , - -329 , -110 , - -333 , -99 , - -334 , -86 , - -331 , -71 , - -325 , -56 , - -315 , -39 , - -303 , -22 , - -290 , -5 , - -274 , 10 , - -259 , 27 , - -243 , 43 , - -227 , 58 , - -213 , 72 , - -200 , 85 , - -189 , 96 , - -181 , 107 , - -175 , 116 , - -171 , 124 , - -170 , 131 , - -170 , 136 , - -173 , 141 , - -177 , 144 , - -182 , 147 , - -188 , 148 , - -193 , 149 , - -196 , 149 , - -199 , 149 , - -198 , 148 , - -195 , 146 , - -189 , 144 , - -178 , 141 , - -163 , 138 , - -144 , 134 , - -120 , 130 , - -92 , 125 , - -60 , 120 , - -25 , 114 , - 13 , 108 , - 54 , 102 , - 96 , 95 , - 139 , 89 , - 181 , 83 , - 222 , 78 , - 261 , 73 , - 296 , 70 , - 327 , 67 , - 352 , 66 , - 372 , 67 , - 385 , 70 , - 391 , 74 , - 390 , 81 , - 382 , 89 , - 367 , 100 , - 345 , 113 , - 317 , 128 , - 284 , 145 , - 245 , 163 , - 204 , 182 , - 159 , 202 , - 113 , 221 , - 67 , 241 , - 21 , 260 , - -21 , 277 , - -62 , 293 , - -99 , 306 , - -130 , 316 , - -156 , 323 , - -177 , 326 , - -190 , 325 , - -198 , 320 , - -198 , 311 , - -193 , 297 , - -181 , 279 , - -164 , 257 , - -143 , 231 , - -117 , 202 , - -89 , 170 , - -59 , 136 , - -28 , 101 , - 2 , 65 , - 33 , 29 , - 61 , -6 , - 88 , -40 , - 111 , -72 , - 130 , -101 , - 146 , -127 , - 158 , -149 , - 165 , -166 , - 169 , -179 , - 169 , -187 , - 166 , -191 , - 161 , -190 , - 154 , -185 , - 145 , -175 , - 137 , -162 , - 129 , -146 , - 122 , -127 , - 117 , -106 , - 114 , -83 , - 115 , -60 , - 119 , -38 , - 126 , -15 , - 138 , 5 , - 153 , 24 , - 171 , 41 , - 193 , 55 , - 216 , 66 , - 242 , 75 , - 268 , 80 , - 295 , 83 , - 321 , 82 , - 344 , 79 , - 366 , 74 , - 383 , 67 , - 396 , 59 , - 404 , 50 , - 406 , 40 , - 402 , 31 , - 392 , 22 , - 375 , 14 , - 351 , 7 , - 322 , 2 , - 287 , -1 , - 247 , -2 , - 203 , -2 , - 156 , 0 , - 107 , 2 , - 57 , 7 , - 7 , 13 , - -41 , 19 , - -87 , 26 , - -129 , 32 , - -167 , 38 , - -199 , 42 , - -226 , 45 , - -245 , 45 , - -258 , 44 , - -263 , 39 , - -262 , 33 , - -253 , 23 , - -238 , 11 , - -217 , -3 , - -191 , -20 , - -161 , -39 , - -127 , -59 , - -92 , -81 , - -56 , -102 , - -20 , -123 , - 14 , -143 , - 47 , -162 , - 76 , -178 , - 101 , -191 , - 122 , -201 , - 137 , -206 , - 147 , -208 , - 150 , -205 , - 149 , -197 , - 141 , -185 , - 129 , -168 , - 112 , -147 , - 91 , -122 , - 66 , -94 , - 40 , -63 , - 12 , -30 , - -15 , 2 , - -42 , 36 , - -69 , 69 , - -92 , 101 , - -113 , 130 , - -131 , 156 , - -144 , 178 , - -152 , 195 , - -157 , 206 , - -156 , 212 , - -151 , 212 , - -142 , 205 , - -129 , 193 , - -112 , 174 , - -94 , 149 , - -73 , 119 , - -51 , 84 , - -30 , 45 , - -8 , 3 , - 10 , -41 , - 28 , -87 , - 43 , -133 , - 55 , -179 , - 62 , -223 , - 66 , -264 , - 66 , -302 , - 61 , -336 , - 53 , -364 , - 41 , -386 , - 25 , -402 , - 7 , -411 , - -12 , -414 , - -34 , -409 , - -56 , -398 , - -78 , -380 , - -99 , -356 , - -119 , -326 , - -136 , -291 , - -150 , -251 , - -161 , -208 , - -168 , -163 , - -171 , -116 , - -169 , -68 , - -163 , -21 , - -153 , 24 , - -140 , 68 , - -123 , 109 , - -103 , 146 , - -81 , 179 , - -57 , 206 , - -32 , 228 , - -7 , 244 , - 15 , 253 , - 38 , 257 , - 58 , 254 , - 76 , 245 , - 90 , 230 , - 100 , 210 , - 107 , 185 , - 109 , 156 , - 107 , 123 , - 101 , 88 , - 91 , 51 , - 78 , 13 , - 62 , -24 , - 43 , -62 , - 22 , -97 , - 0 , -130 , - -21 , -160 , - -43 , -186 , - -63 , -207 , - -82 , -223 , - -99 , -233 , - -113 , -237 , - -124 , -236 , - -131 , -228 , - -134 , -214 , - -134 , -194 , - -130 , -169 , - -122 , -138 , - -112 , -103 , - -98 , -64 , - -83 , -22 , - -66 , 22 , - -48 , 68 , - -29 , 114 , - -11 , 161 , - 4 , 206 , - 19 , 250 , - 32 , 290 , - 42 , 327 , - 49 , 359 , - 53 , 386 , - 53 , 407 , - 50 , 422 , - 43 , 431 , - 33 , 433 , - 20 , 429 , - 5 , 417 , - -11 , 400 , - -30 , 376 , - -49 , 347 , - -67 , 313 , - -86 , 275 , - -103 , 233 , - -117 , 189 , - -130 , 143 , - -139 , 95 , - -146 , 48 , - -148 , 2 , - -147 , -42 , - -143 , -84 , - -135 , -122 , - -125 , -157 , - -111 , -187 , - -96 , -212 , - -79 , -232 , - -61 , -246 , - -42 , -255 , - -25 , -257 , - -9 , -255 , - 5 , -246 , - 16 , -233 , - 25 , -215 , - 30 , -193 , - 31 , -168 , - 28 , -140 , - 20 , -110 , - 9 , -78 , - -6 , -45 , - -25 , -12 , - -47 , 20 , - -71 , 52 , - -97 , 83 , - -123 , 111 , - -149 , 138 , - -175 , 162 , - -198 , 184 , - -218 , 202 , - -235 , 218 , - -247 , 231 , - -255 , 241 , - -256 , 249 , - -252 , 255 , - -241 , 258 , - -225 , 260 , - -202 , 259 , - -174 , 258 , - -141 , 256 , - -103 , 253 , - -61 , 249 , - -17 , 245 , - 28 , 240 , - 74 , 236 , - 120 , 232 , - 164 , 227 , - 205 , 223 , - 243 , 218 , - 276 , 213 , - 303 , 208 , - 323 , 203 , - 337 , 197 , - 344 , 190 , - 343 , 183 , - 335 , 175 , - 320 , 167 , - 298 , 157 , - 270 , 146 , - 237 , 135 , - 199 , 123 , - 157 , 110 , - 112 , 97 , - 67 , 84 , - 20 , 70 , - -24 , 57 , - -68 , 45 , - -108 , 33 , - -145 , 23 , - -178 , 14 , - -205 , 6 , - -227 , 1 , - -243 , -1 , - -253 , -1 , - -257 , 0 , - -256 , 4 , - -249 , 11 , - -237 , 21 , - -221 , 33 , - -202 , 47 , - -180 , 63 , - -156 , 80 , - -132 , 99 , - -108 , 118 , - -85 , 138 , - -63 , 157 , - -44 , 176 , - -28 , 194 , - -16 , 210 , - -7 , 224 , - -3 , 235 , - -3 , 244 , - -8 , 249 , - -16 , 251 , - -28 , 250 , - -43 , 244 , - -60 , 235 , - -80 , 222 , - -101 , 205 , - -122 , 185 , - -144 , 162 , - -164 , 135 , - -183 , 106 , - -200 , 75 , - -214 , 42 , - -225 , 8 , - -232 , -26 , - -236 , -60 , - -235 , -95 , - -231 , -128 , - -223 , -160 , - -212 , -190 , - -197 , -217 , - -179 , -241 , - -160 , -262 , - -138 , -280 , - -115 , -293 , - -91 , -303 , - -68 , -308 , - -45 , -309 , - -23 , -305 , - -2 , -297 , - 15 , -286 , - 32 , -270 , - 45 , -250 , - 56 , -227 , - 64 , -201 , - 69 , -172 , - 71 , -140 , - 70 , -107 , - 67 , -73 , - 62 , -37 , - 55 , -1 , - 46 , 33 , - 36 , 69 , - 25 , 103 , - 13 , 135 , - 1 , 166 , - -9 , 195 , - -21 , 221 , - -32 , 244 , - -42 , 264 , - -51 , 281 , - -60 , 295 , - -67 , 305 , - -74 , 311 , - -80 , 315 , - -86 , 315 , - -91 , 312 , - -96 , 306 , - -101 , 298 , - -105 , 287 , - -110 , 275 , - -116 , 261 , - -121 , 245 , - -128 , 229 , - -135 , 213 , - -142 , 196 , - -150 , 180 , - -159 , 164 , - -168 , 149 , - -177 , 136 , - -186 , 123 , - -195 , 111 , - -204 , 101 , - -213 , 93 , - -220 , 85 , - -227 , 79 , - -233 , 74 , - -237 , 69 , - -241 , 65 , - -242 , 61 , - -243 , 57 , - -242 , 53 , - -240 , 47 , - -237 , 41 , - -233 , 34 , - -228 , 25 , - -222 , 15 , - -215 , 2 , - -208 , -11 , - -202 , -27 , - -195 , -45 , - -188 , -64 , - -182 , -85 , - -177 , -107 , - -172 , -129 , - -168 , -152 , - -165 , -175 , - -163 , -197 , - -162 , -218 , - -162 , -237 , - -163 , -254 , - -164 , -268 , - -167 , -279 , - -170 , -286 , - -173 , -290 , - -177 , -289 , - -180 , -284 , - -184 , -274 , - -188 , -260 , - -191 , -241 , - -195 , -219 , - -198 , -193 , - -200 , -164 , - -202 , -132 , - -204 , -98 , - -205 , -63 , - -206 , -27 , - -207 , 8 , - -207 , 42 , - -206 , 75 , - -206 , 105 , - -205 , 132 , - -203 , 155 , - -201 , 173 , - -199 , 187 , - -196 , 195 , - -192 , 197 , - -188 , 195 , - -183 , 186 , - -177 , 173 , - -170 , 154 , - -162 , 131 , - -152 , 104 , - -141 , 73 , - -129 , 40 , - -116 , 5 , - -101 , -29 , - -84 , -64 , - -67 , -99 , - -49 , -131 , - -29 , -161 , - -9 , -187 , - 10 , -209 , - 31 , -226 , - 51 , -238 , - 70 , -243 , - 89 , -243 , - 106 , -237 , - 121 , -225 , - 135 , -208 , - 146 , -185 , - 155 , -157 , - 161 , -124 , - 164 , -88 , - 164 , -49 , - 161 , -9 , - 156 , 33 , - 147 , 75 , - 137 , 117 , - 124 , 158 , - 110 , 196 , - 95 , 232 , - 78 , 264 , - 61 , 292 , - 44 , 316 , - 28 , 335 , - 12 , 349 , - -1 , 359 , - -13 , 363 , - -24 , 363 , - -33 , 358 , - -39 , 350 , - -44 , 338 , - -46 , 323 , - -46 , 307 , - -45 , 288 , - -42 , 269 , - -39 , 249 , - -34 , 230 , - -30 , 212 , - -26 , 195 , - -23 , 180 , - -21 , 167 , - -21 , 157 , - -24 , 150 , - -28 , 145 , - -35 , 143 , - -44 , 144 , - -57 , 147 , - -71 , 152 , - -88 , 160 , - -107 , 169 , - -128 , 178 , - -149 , 189 , - -171 , 199 , - -192 , 210 , - -213 , 219 , - -231 , 228 , - -248 , 235 , - -261 , 241 , - -271 , 244 , - -277 , 246 , - -279 , 246 , - -276 , 244 , - -268 , 241 , - -255 , 235 , - -237 , 229 , - -215 , 221 , - -189 , 213 , - -159 , 204 , - -127 , 196 , - -93 , 188 , - -58 , 180 , - -23 , 174 , - 10 , 170 , - 43 , 167 , - 73 , 165 , - 99 , 166 , - 121 , 168 , - 138 , 172 , - 150 , 178 , - 156 , 185 , - 156 , 194 , - 149 , 203 , - 137 , 212 , - 120 , 221 , - 97 , 229 , - 70 , 236 , - 39 , 242 , - 6 , 245 , - -28 , 246 , - -64 , 244 , - -99 , 238 , - -133 , 229 , - -165 , 217 , - -193 , 201 , - -217 , 181 , - -237 , 158 , - -251 , 132 , - -260 , 104 , - -263 , 72 , - -260 , 40 , - -251 , 5 , - -238 , -28 , - -220 , -63 , - -198 , -97 , - -172 , -129 , - -145 , -160 , - -117 , -188 , - -88 , -212 , - -60 , -233 , - -35 , -250 , - -12 , -263 , - 7 , -271 , - 22 , -275 , - 32 , -274 , - 37 , -269 , - 37 , -260 , - 31 , -247 , - 21 , -231 , - 5 , -212 , - -14 , -191 , - -37 , -169 , - -63 , -146 , - -91 , -122 , - -120 , -99 , - -148 , -77 , - -175 , -56 , - -199 , -37 , - -220 , -21 , - -237 , -8 , - -249 , 2 , - -255 , 9 , - -256 , 13 , - -250 , 14 , - -238 , 11 , - -221 , 6 , - -198 , 0 , - -170 , -10 , - -137 , -22 , - -102 , -35 , - -64 , -49 , - -25 , -64 , - 13 , -79 , - 51 , -93 , - 87 , -106 , - 120 , -119 , - 148 , -130 , - 171 , -139 , - 189 , -147 , - 200 , -153 , - 204 , -157 , - 202 , -160 , - 193 , -162 , - 178 , -162 , - 158 , -161 , - 132 , -160 , - 101 , -158 , - 68 , -156 , - 32 , -154 , - -3 , -153 , - -40 , -152 , - -75 , -153 , - -107 , -154 , - -136 , -157 , - -161 , -160 , - -180 , -165 , - -193 , -171 , - -200 , -177 , - -201 , -184 , - -194 , -192 , - -181 , -198 , - -162 , -205 , - -136 , -210 , - -106 , -214 , - -72 , -217 , - -35 , -217 , - 3 , -215 , - 44 , -210 , - 84 , -202 , - 123 , -191 , - 159 , -177 , - 192 , -159 , - 221 , -139 , - 245 , -116 , - 264 , -91 , - 277 , -64 , - 283 , -35 , - 284 , -4 , - 279 , 25 , - 268 , 56 , - 253 , 86 , - 233 , 115 , - 210 , 143 , - 184 , 168 , - 157 , 191 , - 129 , 211 , - 102 , 227 , - 77 , 240 , - 54 , 249 , - 34 , 254 , - 18 , 255 , - 7 , 253 , - 1 , 247 , - 0 , 238 , - 4 , 226 , - 14 , 212 , - 29 , 196 , - 48 , 178 , - 71 , 159 , - 97 , 140 , - 126 , 121 , - 157 , 103 , - 188 , 85 , - 219 , 69 , - 250 , 54 , - 278 , 41 , - 303 , 30 , - 326 , 22 , - 344 , 15 , - 358 , 10 , - 367 , 8 , - 371 , 7 , - 371 , 8 , - 365 , 10 , - 356 , 14 , - 342 , 19 , - 326 , 24 , - 306 , 30 , - 284 , 37 , - 261 , 43 , - 238 , 49 , - 215 , 56 , - 192 , 62 , - 172 , 67 , - 154 , 73 , - 139 , 79 , - 127 , 84 , - 119 , 90 , - 114 , 96 , - 113 , 102 , - 116 , 109 , - 122 , 116 , - 131 , 125 , - 143 , 134 , - 156 , 144 , - 171 , 154 , - 187 , 166 , - 202 , 178 , - 217 , 190 , - 230 , 203 , - 241 , 216 , - 249 , 228 , - 254 , 240 , - 255 , 250 , - 252 , 259 , - 244 , 266 , - 232 , 271 , - 216 , 273 , - 196 , 273 , - 171 , 269 , - 143 , 262 , - 113 , 252 , - 80 , 239 , - 45 , 222 , - 9 , 202 , - -26 , 180 , - -61 , 155 , - -95 , 128 , - -127 , 100 , - -156 , 71 , - -181 , 41 , - -202 , 12 , - -219 , -16 , - -231 , -43 , - -238 , -68 , - -240 , -90 , - -236 , -110 , - -227 , -126 , - -214 , -138 , - -195 , -147 , - -173 , -151 , - -146 , -152 , - -117 , -149 , - -84 , -143 , - -50 , -133 , - -15 , -120 , - 20 , -106 , - 55 , -90 , - 90 , -72 , - 123 , -55 , - 154 , -37 , - 183 , -21 , - 208 , -6 , - 230 , 5 , - 248 , 15 , - 262 , 22 , - 271 , 26 , - 277 , 25 , - 278 , 21 , - 275 , 14 , - 269 , 2 , - 259 , -12 , - 245 , -30 , - 228 , -50 , - 210 , -74 , - 189 , -98 , - 166 , -125 , - 143 , -151 , - 119 , -178 , - 95 , -204 , - 71 , -229 , - 49 , -252 , - 28 , -272 , - 8 , -291 , - -8 , -306 , - -23 , -318 , - -35 , -327 , - -44 , -332 , - -50 , -334 , - -54 , -332 , - -54 , -328 , - -52 , -321 , - -46 , -311 , - -39 , -299 , - -28 , -286 , - -16 , -272 , - -1 , -256 , - 13 , -241 , - 30 , -225 , - 48 , -210 , - 66 , -196 , - 85 , -182 , - 103 , -170 , - 120 , -160 , - 137 , -150 , - 153 , -142 , - 167 , -136 , - 180 , -130 , - 192 , -126 , - 201 , -122 , - 209 , -120 , - 216 , -117 , - 220 , -114 , - 224 , -111 , - 226 , -108 , - 227 , -103 , - 227 , -98 , - 226 , -92 , - 225 , -84 , - 224 , -75 , - 223 , -64 , - 222 , -52 , - 221 , -39 , - 222 , -24 , - 223 , -9 , - 224 , 7 , - 227 , 24 , - 231 , 41 , - 235 , 59 , - 240 , 76 , - 245 , 93 , - 250 , 109 , - 256 , 125 , - 261 , 139 , - 265 , 152 , - 268 , 163 , - 270 , 172 , - 270 , 179 , - 268 , 185 , - 264 , 188 , - 258 , 190 , - 248 , 189 , - 236 , 186 , - 221 , 181 , - 203 , 174 , - 183 , 166 , - 160 , 155 , - 135 , 143 , - 108 , 128 , - 79 , 113 , - 49 , 95 , - 19 , 76 , - -11 , 56 , - -40 , 35 , - -69 , 12 , - -96 , -10 , - -121 , -34 , - -143 , -59 , - -162 , -84 , - -177 , -109 , - -188 , -134 , - -195 , -159 , - -198 , -182 , - -196 , -205 , - -190 , -226 , - -180 , -245 , - -166 , -262 , - -148 , -277 , - -127 , -289 , - -103 , -297 , - -77 , -302 , - -49 , -303 , - -21 , -300 , - 7 , -293 , - 36 , -282 , - 65 , -268 , - 91 , -249 , - 116 , -226 , - 139 , -201 , - 159 , -172 , - 177 , -141 , - 191 , -108 , - 202 , -74 , - 209 , -39 , - 214 , -5 , - 216 , 28 , - 215 , 60 , - 212 , 90 , - 207 , 116 , - 201 , 139 , - 194 , 158 , - 186 , 173 , - 178 , 182 , - 170 , 187 , - 163 , 186 , - 157 , 180 , - 153 , 169 , - 149 , 153 , - 148 , 134 , - 148 , 110 , - 150 , 84 , - 153 , 55 , - 158 , 25 , - 163 , -5 , - 169 , -35 , - 176 , -64 , - 182 , -90 , - 187 , -114 , - 192 , -134 , - 194 , -150 , - 195 , -160 , - 194 , -165 , - 189 , -165 , - 182 , -159 , - 172 , -147 , - 160 , -129 , - 144 , -106 , - 125 , -79 , - 104 , -47 , - 81 , -12 , - 56 , 24 , - 30 , 64 , - 4 , 104 , - -21 , 144 , - -46 , 183 , - -70 , 221 , - -91 , 255 , - -109 , 286 , - -124 , 313 , - -135 , 335 , - -141 , 352 , - -142 , 364 , - -139 , 370 , - -130 , 371 , - -116 , 367 , - -98 , 358 , - -74 , 345 , - -47 , 327 , - -16 , 307 , - 17 , 283 , - 53 , 258 , - 91 , 232 , - 129 , 205 , - 167 , 178 , - 203 , 152 , - 237 , 127 , - 268 , 105 , - 295 , 85 , - 318 , 67 , - 336 , 52 , - 348 , 39 , - 355 , 30 , - 355 , 22 , - 350 , 17 , - 339 , 14 , - 322 , 12 , - 299 , 11 , - 272 , 10 , - 241 , 9 , - 207 , 7 , - 170 , 4 , - 131 , 0 , - 92 , -5 , - 53 , -13 , - 15 , -23 , - -20 , -36 , - -53 , -50 , - -83 , -67 , - -109 , -85 , - -130 , -104 , - -147 , -124 , - -158 , -143 , - -163 , -162 , - -164 , -180 , - -159 , -196 , - -149 , -209 , - -134 , -219 , - -115 , -224 , - -93 , -226 , - -67 , -222 , - -39 , -214 , - -10 , -200 , - 20 , -181 , - 51 , -158 , - 82 , -129 , - 111 , -96 , - 139 , -59 , - 166 , -20 , - 190 , 21 , - 211 , 64 , - 228 , 108 , - 243 , 151 , - 254 , 192 , - 263 , 230 , - 267 , 265 , - 269 , 295 , - 267 , 320 , - 263 , 339 , - 257 , 352 , - 248 , 357 , - 237 , 356 , - 225 , 347 , - 211 , 331 , - 196 , 309 , - 180 , 280 , - 164 , 246 , - 147 , 208 , - 130 , 165 , - 114 , 120 , - 97 , 73 , - 80 , 25 , - 64 , -21 , - 48 , -66 , - 32 , -109 , - 17 , -148 , - 2 , -182 , - -11 , -210 , - -25 , -233 , - -37 , -249 , - -49 , -258 , - -59 , -260 , - -68 , -255 , - -76 , -243 , - -82 , -225 , - -86 , -201 , - -88 , -172 , - -88 , -138 , - -85 , -101 , - -80 , -62 , - -73 , -22 , - -63 , 18 , - -51 , 58 , - -36 , 96 , - -20 , 131 , - -2 , 162 , - 17 , 188 , - 38 , 209 , - 59 , 224 , - 80 , 233 , - 100 , 236 , - 119 , 232 , - 137 , 221 , - 152 , 204 , - 164 , 182 , - 173 , 154 , - 177 , 122 , - 178 , 86 , - 174 , 47 , - 165 , 5 , - 152 , -36 , - 135 , -78 , - 112 , -120 , - 86 , -160 , - 57 , -198 , - 25 , -232 , - -9 , -262 , - -45 , -288 , - -81 , -309 , - -117 , -325 , - -151 , -335 , - -183 , -340 , - -212 , -340 , - -236 , -334 , - -256 , -324 , - -270 , -309 , - -278 , -290 , - -280 , -268 , - -275 , -243 , - -264 , -217 , - -246 , -188 , - -223 , -159 , - -193 , -130 , - -159 , -102 , - -121 , -74 , - -80 , -49 , - -37 , -25 , - 6 , -4 , - 50 , 14 , - 91 , 29 , - 131 , 42 , - 166 , 51 , - 197 , 58 , - 222 , 62 , - 241 , 63 , - 253 , 62 , - 257 , 59 , - 254 , 55 , - 244 , 48 , - 227 , 41 , - 204 , 33 , - 174 , 25 , - 140 , 16 , - 101 , 8 , - 60 , 0 , - 17 , -7 , - -25 , -14 , - -68 , -21 , - -108 , -27 , - -145 , -33 , - -177 , -38 , - -204 , -43 , - -225 , -47 , - -240 , -52 , - -247 , -56 , - -246 , -61 , - -239 , -66 , - -224 , -72 , - -203 , -78 , - -175 , -84 , - -143 , -91 , - -107 , -98 , - -67 , -106 , - -26 , -113 , - 14 , -121 , - 55 , -128 , - 94 , -134 , - 129 , -140 , - 160 , -144 , - 186 , -146 , - 206 , -147 , - 219 , -145 , - 226 , -142 , - 225 , -135 , - 217 , -126 , - 202 , -114 , - 181 , -99 , - 154 , -81 , - 122 , -61 , - 86 , -38 , - 46 , -13 , - 5 , 12 , - -36 , 40 , - -77 , 69 , - -117 , 99 , - -155 , 128 , - -188 , 156 , - -218 , 184 , - -243 , 209 , - -263 , 232 , - -277 , 253 , - -285 , 270 , - -288 , 284 , - -285 , 293 , - -278 , 299 , - -266 , 301 , - -251 , 299 , - -233 , 293 , - -214 , 283 , - -194 , 270 , - -174 , 253 , - -156 , 234 , - -139 , 213 , - -124 , 190 , - -113 , 165 , - -106 , 141 , - -102 , 116 , - -103 , 91 , - -107 , 68 , - -115 , 46 , - -126 , 26 , - -140 , 8 , - -156 , -6 , - -174 , -19 , - -191 , -29 , - -208 , -36 , - -223 , -40 , - -236 , -42 , - -245 , -41 , - -250 , -38 , - -250 , -33 , - -245 , -27 , - -234 , -19 , - -217 , -10 , - -195 , -1 , - -167 , 7 , - -134 , 17 , - -96 , 26 , - -55 , 35 , - -10 , 44 , - 35 , 52 , - 82 , 59 , - 129 , 66 , - 174 , 72 , - 216 , 78 , - 254 , 83 , - 288 , 89 , - 315 , 94 , - 336 , 101 , - 350 , 107 , - 356 , 115 , - 355 , 123 , - 345 , 133 , - 328 , 143 , - 305 , 155 , - 274 , 168 , - 238 , 181 , - 198 , 196 , - 154 , 211 , - 107 , 226 , - 59 , 242 , - 11 , 256 , - -35 , 270 , - -80 , 283 , - -121 , 295 , - -157 , 304 , - -189 , 311 , - -214 , 316 , - -234 , 317 , - -246 , 316 , - -252 , 312 , - -250 , 305 , - -242 , 294 , - -228 , 281 , - -209 , 266 , - -184 , 247 , - -155 , 227 , - -123 , 206 , - -89 , 183 , - -52 , 160 , - -16 , 137 , - 20 , 114 , - 55 , 92 , - 89 , 71 , - 120 , 52 , - 149 , 35 , - 173 , 21 , - 195 , 9 , - 213 , 0 , - 227 , -7 , - 237 , -12 , - 244 , -15 , - 248 , -16 , - 249 , -15 , - 248 , -13 , - 245 , -10 , - 241 , -8 , - 236 , -5 , - 231 , -4 , - 225 , -3 , - 220 , -5 , - 216 , -8 , - 213 , -13 , - 210 , -22 , - 209 , -32 , - 208 , -45 , - 209 , -61 , - 210 , -79 , - 212 , -99 , - 214 , -120 , - 215 , -142 , - 217 , -165 , - 217 , -188 , - 217 , -210 , - 215 , -231 , - 212 , -250 , - 206 , -266 , - 199 , -280 , - 190 , -289 , - 179 , -295 , - 167 , -297 , - 152 , -294 , - 136 , -287 , - 119 , -275 , - 101 , -259 , - 82 , -238 , - 63 , -214 , - 44 , -187 , - 25 , -157 , - 6 , -125 , - -10 , -92 , - -27 , -57 , - -42 , -22 , - -56 , 11 , - -69 , 45 , - -80 , 77 , - -90 , 106 , - -98 , 134 , - -106 , 158 , - -113 , 180 , - -119 , 198 , - -124 , 212 , - -129 , 224 , - -134 , 232 , - -139 , 238 , - -145 , 240 , - -150 , 240 , - -156 , 238 , - -162 , 234 , - -168 , 228 , - -175 , 221 , - -181 , 213 , - -187 , 204 , - -193 , 194 , - -197 , 184 , - -201 , 174 , - -202 , 163 , - -202 , 151 , - -200 , 139 , - -195 , 127 , - -188 , 113 , - -178 , 98 , - -165 , 82 , - -150 , 64 , - -131 , 44 , - -110 , 23 , - -87 , 0 , - -62 , -24 , - -35 , -51 , - -7 , -80 , - 20 , -110 , - 48 , -141 , - 76 , -173 , - 103 , -205 , - 128 , -236 , - 151 , -266 , - 171 , -295 , - 188 , -321 , - 202 , -343 , - 212 , -362 , - 218 , -376 , - 220 , -386 , - 218 , -389 , - 212 , -387 , - 203 , -379 , - 191 , -365 , - 176 , -345 , - 158 , -319 , - 140 , -287 , - 119 , -251 , - 99 , -211 , - 78 , -167 , - 58 , -121 , - 39 , -73 , - 22 , -25 , - 7 , 22 , - -4 , 67 , - -14 , 110 , - -21 , 149 , - -25 , 184 , - -26 , 213 , - -24 , 236 , - -19 , 252 , - -11 , 261 , - -1 , 264 , - 9 , 259 , - 22 , 248 , - 36 , 230 , - 51 , 207 , - 67 , 179 , - 82 , 146 , - 96 , 111 , - 110 , 74 , - 123 , 36 , - 134 , -1 , - 144 , -37 , - 152 , -71 , - 159 , -102 , - 165 , -128 , - 169 , -149 , - 171 , -165 , - 173 , -175 , - 174 , -180 , - 174 , -178 , - 174 , -170 , - 173 , -157 , - 172 , -139 , - 172 , -116 , - 172 , -90 , - 172 , -62 , - 173 , -32 , - 175 , -1 , - 177 , 29 , - 179 , 58 , - 182 , 85 , - 185 , 110 , - 189 , 130 , - 192 , 146 , - 196 , 157 , - 199 , 163 , - 202 , 164 , - 205 , 159 , - 207 , 150 , - 208 , 136 , - 209 , 118 , - 209 , 96 , - 209 , 71 , - 208 , 44 , - 207 , 16 , - 206 , -12 , - 205 , -40 , - 204 , -67 , - 204 , -92 , - 204 , -115 , - 205 , -134 , - 206 , -150 , - 208 , -162 , - 211 , -169 , - 215 , -173 , - 220 , -172 , - 225 , -168 , - 231 , -160 , - 237 , -149 , - 243 , -135 , - 248 , -120 , - 253 , -103 , - 256 , -86 , - 258 , -69 , - 258 , -52 , - 256 , -37 , - 251 , -24 , - 244 , -14 , - 233 , -6 , - 219 , -2 , - 202 , 0 , - 181 , -2 , - 158 , -7 , - 132 , -16 , - 103 , -27 , - 71 , -41 , - 38 , -57 , - 4 , -75 , - -30 , -93 , - -65 , -112 , - -99 , -132 , - -133 , -150 , - -164 , -168 , - -194 , -184 , - -220 , -198 , - -244 , -210 , - -263 , -220 , - -280 , -226 , - -292 , -230 , - -300 , -230 , - -304 , -227 , - -304 , -222 , - -301 , -214 , - -295 , -203 , - -285 , -190 , - -273 , -175 , - -260 , -158 , - -245 , -140 , - -229 , -120 , - -214 , -100 , - -198 , -79 , - -183 , -58 , - -170 , -36 , - -158 , -15 , - -148 , 5 , - -140 , 26 , - -134 , 46 , - -130 , 66 , - -128 , 85 , - -128 , 104 , - -130 , 122 , - -133 , 140 , - -136 , 157 , - -140 , 174 , - -144 , 190 , - -147 , 205 , - -149 , 219 , - -150 , 233 , - -149 , 245 , - -145 , 257 , - -140 , 267 , - -132 , 275 , - -121 , 281 , - -107 , 286 , - -91 , 288 , - -73 , 288 , - -52 , 285 , - -29 , 280 , - -5 , 272 , - 19 , 262 , - 44 , 249 , - 70 , 234 , - 96 , 216 , - 121 , 197 , - 144 , 176 , - 166 , 154 , - 186 , 131 , - 204 , 107 , - 220 , 84 , - 232 , 62 , - 242 , 40 , - 250 , 21 , - 255 , 3 , - 257 , -11 , - 257 , -22 , - 255 , -31 , - 250 , -36 , - 245 , -37 , - 237 , -35 , - 229 , -28 , - 220 , -19 , - 210 , -5 , - 199 , 10 , - 188 , 29 , - 177 , 50 , - 166 , 72 , - 154 , 96 , - 143 , 120 , - 131 , 145 , - 119 , 168 , - 106 , 190 , - 93 , 210 , - 79 , 228 , - 65 , 243 , - 49 , 255 , - 33 , 263 , - 15 , 268 , - -2 , 268 , - -21 , 266 , - -42 , 259 , - -62 , 249 , - -84 , 237 , - -105 , 221 , - -127 , 203 , - -148 , 184 , - -168 , 163 , - -188 , 142 , - -206 , 121 , - -222 , 100 , - -237 , 81 , - -249 , 63 , - -260 , 47 , - -267 , 34 , - -272 , 24 , - -275 , 17 , - -275 , 14 , - -273 , 14 , - -269 , 17 , - -263 , 24 , - -255 , 34 , - -247 , 47 , - -237 , 62 , - -227 , 80 , - -217 , 99 , - -208 , 119 , - -199 , 140 , - -191 , 161 , - -185 , 181 , - -180 , 200 , - -176 , 217 , - -174 , 232 , - -174 , 245 , - -175 , 254 , - -177 , 259 , - -181 , 261 , - -184 , 259 , - -189 , 253 , - -193 , 243 , - -196 , 228 , - -199 , 210 , - -200 , 188 , - -200 , 163 , - -198 , 135 , - -194 , 104 , - -188 , 71 , - -179 , 37 , - -168 , 2 , - -155 , -32 , - -140 , -66 , - -123 , -100 , - -106 , -131 , - -87 , -160 , - -68 , -186 , - -50 , -208 , - -32 , -227 , - -15 , -240 , - -1 , -249 , - 11 , -253 , - 21 , -251 , - 28 , -244 , - 31 , -232 , - 32 , -214 , - 30 , -192 , - 24 , -165 , - 16 , -134 , - 6 , -100 , - -5 , -63 , - -19 , -23 , - -33 , 16 , - -47 , 58 , - -60 , 99 , - -72 , 138 , - -82 , 176 , - -89 , 211 , - -93 , 243 , - -93 , 271 , - -88 , 293 , - -80 , 311 , - -67 , 322 , - -51 , 328 , - -30 , 327 , - -6 , 321 , - 20 , 308 , - 50 , 290 , - 80 , 266 , - 112 , 237 , - 143 , 204 , - 172 , 167 , - 200 , 128 , - 224 , 86 , - 244 , 44 , - 259 , 1 , - 269 , -40 , - 273 , -80 , - 271 , -118 , - 262 , -153 , - 247 , -183 , - 225 , -210 , - 198 , -231 , - 166 , -247 , - 130 , -258 , - 90 , -263 , - 49 , -263 , - 5 , -258 , - -37 , -248 , - -79 , -234 , - -118 , -216 , - -155 , -196 , - -186 , -173 , - -213 , -149 , - -233 , -124 , - -247 , -100 , - -254 , -77 , - -253 , -55 , - -246 , -36 , - -219 , -20 , - -171 , -7 , - -115 , 0 , - -62 , 1 , - -22 , 0 , - 0 , -1 , - 7 , -1 , - 6 , -1 , - 4 , -1 , - 2 , -1 , - 1 , -1 , - 1 , -1 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 9 , 6 , - 31 , 21 , - 63 , 45 , - 103 , 78 , - 144 , 115 , - 181 , 154 , - 209 , 187 , - 221 , 208 , - 227 , 224 , - 234 , 238 , - 239 , 250 , - 242 , 259 , - 243 , 264 , - 240 , 264 , - 235 , 259 , - 227 , 248 , - 215 , 231 , - 200 , 208 , - 181 , 179 , - 159 , 145 , - 134 , 107 , - 105 , 64 , - 75 , 17 , - 42 , -30 , - 7 , -80 , - -27 , -130 , - -63 , -179 , - -98 , -226 , - -133 , -270 , - -166 , -309 , - -197 , -343 , - -225 , -370 , - -249 , -392 , - -270 , -406 , - -287 , -412 , - -299 , -411 , - -307 , -403 , - -309 , -389 , - -308 , -368 , - -301 , -341 , - -291 , -310 , - -276 , -275 , - -258 , -238 , - -237 , -199 , - -213 , -160 , - -188 , -122 , - -161 , -87 , - -134 , -54 , - -107 , -25 , - -80 , -2 , - -55 , 16 , - -32 , 29 , - -11 , 36 , - 6 , 37 , - 22 , 32 , - 34 , 22 , - 43 , 8 , - 49 , -10 , - 52 , -31 , - 53 , -55 , - 51 , -80 , - 48 , -105 , - 42 , -128 , - 36 , -150 , - 30 , -169 , - 24 , -185 , - 19 , -196 , - 15 , -202 , - 12 , -204 , - 12 , -200 , - 14 , -190 , - 19 , -175 , - 27 , -156 , - 38 , -132 , - 52 , -105 , - 69 , -75 , - 88 , -43 , - 109 , -9 , - 132 , 23 , - 156 , 56 , - 181 , 88 , - 207 , 117 , - 231 , 144 , - 255 , 167 , - 277 , 187 , - 298 , 202 , - 316 , 214 , - 331 , 221 , - 343 , 225 , - 352 , 225 , - 358 , 223 , - 361 , 218 , - 360 , 211 , - 356 , 203 , - 350 , 195 , - 341 , 187 , - 330 , 181 , - 318 , 175 , - 304 , 172 , - 290 , 170 , - 277 , 172 , - 263 , 175 , - 251 , 182 , - 239 , 190 , - 229 , 201 , - 221 , 212 , - 215 , 225 , - 211 , 238 , - 208 , 250 , - 207 , 261 , - 208 , 270 , - 210 , 276 , - 212 , 278 , - 216 , 277 , - 219 , 271 , - 221 , 261 , - 223 , 245 , - 224 , 225 , - 223 , 200 , - 221 , 172 , - 216 , 139 , - 209 , 104 , - 199 , 67 , - 187 , 28 , - 173 , -9 , - 157 , -46 , - 140 , -82 , - 121 , -114 , - 101 , -142 , - 81 , -165 , - 61 , -182 , - 41 , -193 , - 23 , -196 , - 7 , -193 , - -7 , -183 , - -19 , -166 , - -28 , -143 , - -33 , -113 , - -36 , -79 , - -35 , -41 , - -31 , 0 , - -24 , 43 , - -14 , 86 , - -2 , 129 , - 11 , 170 , - 26 , 207 , - 43 , 240 , - 59 , 268 , - 75 , 289 , - 90 , 304 , - 103 , 312 , - 114 , 313 , - 123 , 306 , - 128 , 292 , - 130 , 271 , - 128 , 245 , - 123 , 213 , - 114 , 178 , - 102 , 140 , - 86 , 100 , - 68 , 59 , - 47 , 20 , - 24 , -17 , - 0 , -51 , - -23 , -81 , - -48 , -106 , - -71 , -125 , - -94 , -138 , - -114 , -144 , - -132 , -143 , - -147 , -135 , - -158 , -121 , - -166 , -101 , - -171 , -75 , - -171 , -45 , - -169 , -11 , - -162 , 24 , - -153 , 63 , - -141 , 101 , - -127 , 140 , - -111 , 177 , - -94 , 212 , - -76 , 243 , - -59 , 271 , - -42 , 296 , - -27 , 315 , - -13 , 331 , - -2 , 341 , - 6 , 348 , - 13 , 351 , - 16 , 350 , - 16 , 347 , - 14 , 341 , - 8 , 334 , - 1 , 326 , - -8 , 319 , - -20 , 312 , - -33 , 306 , - -47 , 302 , - -62 , 300 , - -76 , 300 , - -90 , 303 , - -102 , 309 , - -114 , 317 , - -124 , 326 , - -132 , 337 , - -137 , 349 , - -141 , 361 , - -143 , 373 , - -142 , 383 , - -140 , 392 , - -136 , 397 , - -131 , 400 , - -125 , 398 , - -118 , 393 , - -111 , 382 , - -104 , 367 , - -97 , 347 , - -92 , 322 , - -87 , 293 , - -84 , 260 , - -82 , 224 , - -82 , 186 , - -83 , 146 , - -86 , 105 , - -90 , 65 , - -96 , 25 , - -102 , -11 , - -109 , -45 , - -116 , -75 , - -123 , -100 , - -130 , -120 , - -135 , -135 , - -140 , -145 , - -142 , -148 , - -143 , -146 , - -142 , -139 , - -139 , -128 , - -134 , -112 , - -126 , -94 , - -116 , -73 , - -104 , -52 , - -91 , -31 , - -76 , -11 , - -60 , 6 , - -43 , 21 , - -26 , 31 , - -9 , 37 , - 6 , 37 , - 21 , 31 , - 34 , 19 , - 46 , 1 , - 55 , -22 , - 63 , -52 , - 68 , -87 , - 70 , -125 , - 69 , -167 , - 67 , -212 , - 61 , -257 , - 54 , -301 , - 45 , -345 , - 34 , -385 , - 23 , -421 , - 10 , -452 , - -1 , -477 , - -14 , -495 , - -26 , -505 , - -37 , -507 , - -47 , -500 , - -56 , -485 , - -63 , -461 , - -68 , -430 , - -72 , -391 , - -73 , -346 , - -73 , -295 , - -71 , -240 , - -68 , -182 , - -63 , -122 , - -58 , -61 , - -52 , 0 , - -45 , 57 , - -38 , 113 , - -32 , 164 , - -26 , 211 , - -21 , 252 , - -16 , 286 , - -13 , 314 , - -11 , 335 , - -10 , 350 , - -11 , 357 , - -12 , 359 , - -15 , 355 , - -18 , 346 , - -22 , 333 , - -26 , 317 , - -31 , 299 , - -36 , 279 , - -40 , 260 , - -44 , 241 , - -47 , 224 , - -49 , 209 , - -50 , 198 , - -50 , 190 , - -48 , 186 , - -46 , 187 , - -42 , 193 , - -37 , 202 , - -31 , 216 , - -25 , 234 , - -18 , 254 , - -10 , 278 , - -2 , 303 , - 5 , 330 , - 13 , 357 , - 20 , 384 , - 27 , 409 , - 33 , 432 , - 39 , 453 , - 44 , 470 , - 48 , 484 , - 51 , 493 , - 54 , 497 , - 57 , 497 , - 59 , 492 , - 61 , 482 , - 63 , 468 , - 65 , 449 , - 67 , 427 , - 70 , 402 , - 74 , 374 , - 78 , 344 , - 83 , 313 , - 89 , 280 , - 95 , 248 , - 102 , 217 , - 110 , 187 , - 117 , 158 , - 125 , 132 , - 132 , 108 , - 138 , 87 , - 144 , 69 , - 148 , 55 , - 150 , 43 , - 151 , 34 , - 149 , 29 , - 145 , 25 , - 137 , 24 , - 128 , 25 , - 115 , 27 , - 100 , 30 , - 82 , 34 , - 61 , 38 , - 39 , 41 , - 15 , 44 , - -10 , 46 , - -36 , 46 , - -63 , 44 , - -89 , 41 , - -114 , 36 , - -138 , 30 , - -161 , 21 , - -180 , 11 , - -197 , 0 , - -211 , -12 , - -221 , -26 , - -227 , -40 , - -230 , -54 , - -228 , -68 , - -223 , -81 , - -214 , -93 , - -202 , -103 , - -187 , -112 , - -169 , -118 , - -149 , -122 , - -128 , -123 , - -105 , -121 , - -82 , -117 , - -60 , -109 , - -38 , -99 , - -17 , -86 , - 1 , -71 , - 17 , -54 , - 32 , -36 , - 43 , -16 , - 52 , 3 , - 57 , 24 , - 60 , 44 , - 59 , 63 , - 56 , 80 , - 50 , 96 , - 42 , 108 , - 32 , 118 , - 21 , 124 , - 8 , 126 , - -4 , 125 , - -18 , 119 , - -32 , 109 , - -46 , 95 , - -58 , 78 , - -70 , 56 , - -81 , 32 , - -90 , 5 , - -97 , -23 , - -103 , -54 , - -107 , -85 , - -110 , -116 , - -111 , -147 , - -111 , -175 , - -110 , -201 , - -107 , -224 , - -104 , -243 , - -100 , -258 , - -95 , -268 , - -90 , -272 , - -85 , -271 , - -80 , -264 , - -75 , -252 , - -71 , -234 , - -66 , -211 , - -62 , -183 , - -58 , -151 , - -55 , -116 , - -52 , -79 , - -49 , -40 , - -47 , 0 , - -45 , 38 , - -44 , 75 , - -43 , 109 , - -42 , 140 , - -42 , 166 , - -42 , 187 , - -43 , 201 , - -44 , 209 , - -47 , 209 , - -50 , 202 , - -54 , 187 , - -59 , 165 , - -66 , 137 , - -73 , 102 , - -81 , 61 , - -91 , 15 , - -102 , -33 , - -114 , -84 , - -126 , -137 , - -139 , -190 , - -153 , -242 , - -167 , -291 , - -181 , -335 , - -194 , -375 , - -206 , -409 , - -218 , -435 , - -227 , -454 , - -235 , -464 , - -241 , -466 , - -244 , -458 , - -244 , -443 , - -242 , -418 , - -237 , -386 , - -229 , -347 , - -218 , -302 , - -204 , -251 , - -188 , -197 , - -170 , -141 , - -150 , -83 , - -129 , -26 , - -107 , 28 , - -85 , 81 , - -64 , 129 , - -43 , 172 , - -24 , 209 , - -6 , 238 , - 8 , 261 , - 20 , 275 , - 29 , 282 , - 35 , 280 , - 37 , 272 , - 36 , 256 , - 32 , 234 , - 24 , 207 , - 14 , 176 , - 2 , 142 , - -11 , 106 , - -26 , 70 , - -42 , 34 , - -57 , 0 , - -72 , -29 , - -85 , -56 , - -96 , -78 , - -104 , -95 , - -109 , -106 , - -111 , -111 , - -108 , -109 , - -101 , -102 , - -90 , -89 , - -75 , -71 , - -56 , -48 , - -34 , -23 , - -8 , 4 , - 19 , 33 , - 48 , 61 , - 79 , 89 , - 110 , 114 , - 141 , 136 , - 170 , 153 , - 197 , 164 , - 221 , 169 , - 242 , 168 , - 259 , 160 , - 272 , 144 , - 280 , 121 , - 283 , 91 , - 281 , 56 , - 275 , 14 , - 264 , -31 , - 250 , -80 , - 231 , -132 , - 210 , -186 , - 187 , -239 , - 163 , -290 , - 138 , -338 , - 113 , -383 , - 89 , -421 , - 67 , -454 , - 48 , -479 , - 31 , -496 , - 17 , -504 , - 8 , -504 , - 2 , -494 , - 0 , -476 , - 2 , -449 , - 7 , -414 , - 16 , -373 , - 28 , -324 , - 41 , -271 , - 57 , -214 , - 73 , -154 , - 89 , -92 , - 104 , -31 , - 118 , 28 , - 131 , 85 , - 140 , 139 , - 147 , 188 , - 150 , 230 , - 149 , 267 , - 145 , 295 , - 136 , 316 , - 124 , 330 , - 109 , 335 , - 91 , 332 , - 70 , 321 , - 47 , 303 , - 23 , 279 , - -1 , 249 , - -25 , 214 , - -49 , 175 , - -71 , 133 , - -91 , 89 , - -108 , 43 , - -121 , -1 , - -131 , -46 , - -138 , -89 , - -140 , -129 , - -138 , -167 , - -132 , -201 , - -122 , -230 , - -110 , -256 , - -94 , -276 , - -77 , -292 , - -58 , -303 , - -38 , -310 , - -17 , -312 , - 2 , -311 , - 20 , -306 , - 38 , -297 , - 53 , -286 , - 65 , -273 , - 75 , -258 , - 82 , -241 , - 86 , -224 , - 86 , -206 , - 84 , -188 , - 79 , -171 , - 72 , -154 , - 63 , -137 , - 53 , -122 , - 41 , -107 , - 30 , -93 , - 19 , -81 , - 9 , -69 , - 0 , -58 , - -6 , -48 , - -10 , -38 , - -13 , -29 , - -12 , -20 , - -8 , -10 , - -2 , -1 , - 6 , 7 , - 17 , 17 , - 31 , 27 , - 46 , 37 , - 62 , 48 , - 79 , 59 , - 96 , 71 , - 112 , 83 , - 128 , 95 , - 142 , 107 , - 154 , 119 , - 164 , 131 , - 171 , 143 , - 175 , 153 , - 176 , 163 , - 174 , 173 , - 169 , 181 , - 161 , 187 , - 149 , 193 , - 136 , 197 , - 120 , 199 , - 102 , 200 , - 83 , 199 , - 63 , 196 , - 42 , 192 , - 21 , 185 , - 0 , 178 , - -20 , 168 , - -40 , 158 , - -59 , 146 , - -77 , 133 , - -94 , 118 , - -110 , 103 , - -125 , 88 , - -140 , 72 , - -154 , 55 , - -168 , 39 , - -182 , 22 , - -195 , 6 , - -209 , -8 , - -223 , -23 , - -238 , -37 , - -253 , -50 , - -268 , -62 , - -283 , -72 , - -298 , -81 , - -313 , -88 , - -327 , -93 , - -339 , -97 , - -350 , -99 , - -358 , -99 , - -362 , -96 , - -363 , -92 , - -360 , -87 , - -352 , -79 , - -338 , -70 , - -319 , -59 , - -295 , -47 , - -264 , -33 , - -227 , -19 , - -185 , -4 , - -138 , 11 , - -87 , 28 , - -32 , 44 , - 25 , 60 , - 85 , 76 , - 145 , 92 , - 205 , 106 , - 262 , 120 , - 316 , 132 , - 365 , 143 , - 408 , 153 , - 445 , 160 , - 472 , 166 , - 491 , 170 , - 500 , 172 , - 498 , 172 , - 486 , 171 , - 463 , 167 , - 430 , 162 , - 387 , 155 , - 335 , 147 , - 274 , 137 , - 207 , 126 , - 135 , 114 , - 58 , 101 , - -21 , 88 , - -100 , 74 , - -179 , 60 , - -256 , 46 , - -327 , 33 , - -393 , 20 , - -452 , 7 , - -502 , -3 , - -543 , -14 , - -574 , -23 , - -594 , -32 , - -604 , -39 , - -602 , -45 , - -591 , -50 , - -569 , -53 , - -539 , -55 , - -501 , -57 , - -456 , -57 , - -407 , -56 , - -353 , -54 , - -298 , -52 , - -242 , -49 , - -187 , -46 , - -135 , -42 , - -86 , -39 , - -43 , -36 , - -5 , -33 , - 24 , -30 , - 47 , -28 , - 62 , -27 , - 70 , -27 , - 69 , -28 , - 60 , -30 , - 45 , -32 , - 23 , -36 , - -3 , -41 , - -35 , -47 , - -69 , -54 , - -106 , -62 , - -144 , -70 , - -181 , -79 , - -217 , -89 , - -250 , -99 , - -279 , -110 , - -305 , -120 , - -325 , -130 , - -340 , -140 , - -349 , -149 , - -352 , -158 , - -350 , -166 , - -342 , -172 , - -329 , -178 , - -311 , -182 , - -290 , -184 , - -265 , -186 , - -239 , -185 , - -210 , -184 , - -182 , -180 , - -153 , -176 , - -126 , -169 , - -100 , -162 , - -77 , -153 , - -56 , -143 , - -39 , -132 , - -26 , -120 , - -16 , -107 , - -10 , -94 , - -8 , -80 , - -9 , -66 , - -13 , -52 , - -19 , -38 , - -28 , -24 , - -39 , -10 , - -50 , 3 , - -62 , 16 , - -74 , 29 , - -85 , 41 , - -96 , 53 , - -105 , 65 , - -113 , 76 , - -119 , 86 , - -123 , 96 , - -125 , 106 , - -126 , 115 , - -125 , 124 , - -123 , 132 , - -120 , 140 , - -116 , 148 , - -112 , 156 , - -108 , 163 , - -105 , 169 , - -102 , 176 , - -100 , 182 , - -100 , 187 , - -102 , 192 , - -105 , 196 , - -110 , 200 , - -116 , 203 , - -125 , 205 , - -134 , 206 , - -145 , 206 , - -156 , 206 , - -168 , 204 , - -180 , 202 , - -191 , 199 , - -202 , 194 , - -211 , 189 , - -219 , 183 , - -225 , 177 , - -229 , 169 , - -230 , 162 , - -229 , 153 , - -226 , 145 , - -220 , 137 , - -212 , 128 , - -202 , 120 , - -190 , 112 , - -177 , 104 , - -163 , 97 , - -149 , 90 , - -134 , 84 , - -120 , 78 , - -106 , 73 , - -94 , 69 , - -84 , 65 , - -75 , 62 , - -69 , 59 , - -65 , 57 , - -63 , 55 , - -63 , 53 , - -66 , 51 , - -71 , 49 , - -77 , 46 , - -84 , 44 , - -93 , 41 , - -101 , 37 , - -110 , 33 , - -117 , 28 , - -124 , 23 , - -129 , 17 , - -131 , 10 , - -132 , 3 , - -129 , -3 , - -123 , -10 , - -114 , -18 , - -102 , -25 , - -87 , -31 , - -69 , -38 , - -49 , -43 , - -26 , -48 , - -2 , -51 , - 23 , -53 , - 49 , -53 , - 75 , -52 , - 100 , -49 , - 124 , -43 , - 146 , -36 , - 165 , -27 , - 181 , -16 , - 194 , -3 , - 203 , 11 , - 207 , 27 , - 208 , 45 , - 204 , 64 , - 196 , 85 , - 184 , 106 , - 169 , 127 , - 151 , 149 , - 131 , 170 , - 108 , 191 , - 85 , 212 , - 61 , 231 , - 38 , 248 , - 16 , 264 , - -4 , 278 , - -22 , 290 , - -37 , 299 , - -49 , 305 , - -57 , 308 , - -61 , 308 , - -60 , 306 , - -55 , 300 , - -46 , 291 , - -33 , 278 , - -17 , 263 , - 2 , 245 , - 24 , 225 , - 49 , 202 , - 75 , 177 , - 101 , 150 , - 128 , 121 , - 154 , 92 , - 178 , 62 , - 201 , 32 , - 221 , 2 , - 237 , -27 , - 251 , -55 , - 260 , -82 , - 266 , -106 , - 268 , -128 , - 265 , -147 , - 259 , -163 , - 250 , -176 , - 237 , -184 , - 221 , -189 , - 204 , -189 , - 185 , -186 , - 164 , -178 , - 144 , -165 , - 124 , -149 , - 104 , -129 , - 86 , -106 , - 70 , -79 , - 57 , -50 , - 46 , -18 , - 37 , 14 , - 32 , 48 , - 31 , 82 , - 32 , 117 , - 36 , 150 , - 44 , 182 , - 53 , 212 , - 65 , 239 , - 79 , 263 , - 94 , 283 , - 109 , 299 , - 125 , 310 , - 140 , 317 , - 155 , 319 , - 168 , 316 , - 180 , 308 , - 190 , 296 , - 197 , 279 , - 202 , 258 , - 204 , 234 , - 203 , 206 , - 200 , 177 , - 194 , 145 , - 185 , 113 , - 174 , 80 , - 161 , 47 , - 146 , 16 , - 130 , -13 , - 112 , -41 , - 94 , -66 , - 76 , -87 , - 57 , -105 , - 39 , -118 , - 22 , -128 , - 5 , -133 , - -10 , -133 , - -24 , -130 , - -37 , -123 , - -48 , -112 , - -58 , -97 , - -66 , -80 , - -73 , -60 , - -78 , -39 , - -82 , -16 , - -84 , 6 , - -86 , 29 , - -86 , 52 , - -86 , 74 , - -84 , 94 , - -82 , 112 , - -79 , 128 , - -76 , 142 , - -72 , 152 , - -67 , 160 , - -62 , 165 , - -57 , 167 , - -50 , 166 , - -43 , 163 , - -36 , 158 , - -28 , 150 , - -19 , 141 , - -10 , 131 , - 0 , 119 , - 10 , 107 , - 20 , 95 , - 31 , 83 , - 42 , 71 , - 53 , 60 , - 63 , 49 , - 73 , 39 , - 82 , 30 , - 89 , 22 , - 95 , 15 , - 100 , 9 , - 102 , 3 , - 102 , -1 , - 100 , -6 , - 95 , -11 , - 87 , -17 , - 77 , -23 , - 65 , -29 , - 50 , -37 , - 33 , -46 , - 14 , -55 , - -6 , -66 , - -27 , -78 , - -49 , -92 , - -72 , -107 , - -93 , -122 , - -114 , -139 , - -134 , -155 , - -151 , -172 , - -166 , -189 , - -178 , -206 , - -187 , -222 , - -192 , -236 , - -193 , -249 , - -191 , -260 , - -185 , -269 , - -175 , -275 , - -161 , -279 , - -144 , -280 , - -125 , -278 , - -103 , -272 , - -80 , -264 , - -55 , -253 , - -30 , -239 , - -6 , -222 , - 17 , -203 , - 39 , -182 , - 58 , -159 , - 75 , -135 , - 88 , -109 , - 97 , -83 , - 102 , -56 , - 102 , -30 , - 98 , -3 , - 90 , 21 , - 78 , 46 , - 62 , 70 , - 42 , 92 , - 20 , 113 , - -4 , 132 , - -30 , 150 , - -57 , 165 , - -84 , 179 , - -110 , 192 , - -135 , 202 , - -157 , 212 , - -176 , 219 , - -192 , 226 , - -203 , 231 , - -210 , 236 , - -213 , 239 , - -210 , 242 , - -203 , 243 , - -191 , 244 , - -175 , 245 , - -154 , 245 , - -130 , 244 , - -103 , 243 , - -74 , 241 , - -44 , 238 , - -13 , 235 , - 17 , 231 , - 47 , 226 , - 75 , 220 , - 101 , 213 , - 124 , 205 , - 144 , 196 , - 159 , 186 , - 171 , 175 , - 178 , 163 , - 180 , 151 , - 178 , 137 , - 171 , 123 , - 160 , 109 , - 146 , 94 , - 128 , 79 , - 108 , 65 , - 86 , 50 , - 62 , 36 , - 37 , 23 , - 11 , 11 , - -13 , 0 , - -37 , -9 , - -61 , -17 , - -83 , -24 , - -103 , -29 , - -121 , -32 , - -137 , -34 , - -150 , -34 , - -162 , -32 , - -172 , -28 , - -180 , -23 , - -187 , -16 , - -193 , -8 , - -197 , 1 , - -201 , 11 , - -205 , 23 , - -209 , 35 , - -213 , 47 , - -218 , 60 , - -223 , 73 , - -228 , 85 , - -234 , 97 , - -240 , 108 , - -247 , 118 , - -253 , 127 , - -258 , 135 , - -262 , 142 , - -265 , 147 , - -266 , 150 , - -264 , 151 , - -260 , 151 , - -252 , 149 , - -240 , 145 , - -225 , 139 , - -206 , 132 , - -182 , 123 , - -155 , 112 , - -123 , 101 , - -88 , 88 , - -50 , 75 , - -8 , 61 , - 34 , 46 , - 79 , 32 , - 124 , 18 , - 169 , 4 , - 213 , -7 , - 255 , -19 , - 295 , -29 , - 330 , -37 , - 361 , -44 , - 388 , -49 , - 408 , -51 , - 423 , -51 , - 431 , -49 , - 433 , -45 , - 429 , -38 , - 418 , -30 , - 401 , -20 , - 379 , -8 , - 352 , 4 , - 321 , 18 , - 286 , 32 , - 249 , 47 , - 210 , 61 , - 170 , 74 , - 131 , 85 , - 93 , 95 , - 57 , 103 , - 23 , 108 , - -6 , 110 , - -33 , 109 , - -55 , 104 , - -73 , 96 , - -85 , 84 , - -94 , 69 , - -97 , 51 , - -97 , 29 , - -92 , 5 , - -84 , -21 , - -73 , -49 , - -60 , -78 , - -45 , -108 , - -30 , -137 , - -14 , -166 , - 1 , -193 , - 16 , -218 , - 29 , -240 , - 41 , -258 , - 51 , -271 , - 58 , -281 , - 64 , -285 , - 67 , -284 , - 68 , -277 , - 66 , -265 , - 64 , -248 , - 60 , -225 , - 55 , -197 , - 49 , -166 , - 44 , -130 , - 39 , -91 , - 35 , -49 , - 33 , -6 , - 32 , 37 , - 33 , 80 , - 35 , 123 , - 40 , 165 , - 46 , 203 , - 55 , 239 , - 64 , 270 , - 75 , 297 , - 86 , 320 , - 98 , 336 , - 109 , 348 , - 120 , 353 , - 129 , 353 , - 135 , 348 , - 140 , 337 , - 141 , 321 , - 140 , 301 , - 134 , 277 , - 125 , 249 , - 112 , 219 , - 96 , 186 , - 76 , 153 , - 53 , 118 , - 28 , 84 , - 0 , 50 , - -28 , 17 , - -58 , -13 , - -87 , -42 , - -116 , -69 , - -143 , -93 , - -168 , -114 , - -190 , -132 , - -208 , -146 , - -222 , -158 , - -231 , -167 , - -235 , -172 , - -234 , -175 , - -227 , -176 , - -216 , -174 , - -200 , -169 , - -179 , -163 , - -155 , -156 , - -128 , -147 , - -99 , -137 , - -68 , -125 , - -37 , -113 , - -7 , -100 , - 21 , -86 , - 48 , -72 , - 71 , -57 , - 91 , -42 , - 105 , -26 , - 115 , -10 , - 119 , 6 , - 117 , 23 , - 110 , 40 , - 96 , 58 , - 77 , 76 , - 53 , 94 , - 25 , 112 , - -7 , 130 , - -42 , 148 , - -79 , 164 , - -118 , 180 , - -157 , 195 , - -194 , 209 , - -230 , 220 , - -263 , 230 , - -293 , 238 , - -318 , 244 , - -338 , 247 , - -352 , 248 , - -360 , 246 , - -362 , 242 , - -357 , 235 , - -346 , 226 , - -330 , 215 , - -307 , 201 , - -279 , 186 , - -247 , 169 , - -211 , 151 , - -171 , 133 , - -130 , 114 , - -87 , 95 , - -43 , 76 , - 0 , 58 , - 42 , 41 , - 83 , 24 , - 121 , 10 , - 157 , -3 , - 189 , -14 , - 217 , -24 , - 241 , -33 , - 261 , -40 , - 277 , -45 , - 289 , -50 , - 296 , -53 , - 301 , -55 , - 301 , -57 , - 299 , -59 , - 294 , -60 , - 286 , -62 , - 277 , -65 , - 267 , -67 , - 256 , -71 , - 244 , -75 , - 231 , -80 , - 219 , -86 , - 207 , -92 , - 195 , -99 , - 183 , -105 , - 172 , -112 , - 162 , -118 , - 151 , -124 , - 141 , -128 , - 132 , -131 , - 122 , -132 , - 112 , -131 , - 102 , -128 , - 92 , -122 , - 81 , -114 , - 70 , -103 , - 58 , -89 , - 47 , -72 , - 35 , -53 , - 22 , -32 , - 10 , -9 , - -1 , 15 , - -12 , 41 , - -22 , 67 , - -32 , 93 , - -39 , 119 , - -45 , 143 , - -49 , 166 , - -51 , 187 , - -50 , 205 , - -46 , 220 , - -39 , 232 , - -30 , 241 , - -17 , 246 , - -2 , 247 , - 15 , 245 , - 35 , 240 , - 58 , 231 , - 82 , 220 , - 107 , 206 , - 133 , 190 , - 159 , 173 , - 185 , 156 , - 209 , 138 , - 233 , 120 , - 254 , 104 , - 273 , 88 , - 289 , 75 , - 301 , 64 , - 310 , 55 , - 314 , 48 , - 315 , 44 , - 311 , 43 , - 304 , 44 , - 292 , 47 , - 276 , 52 , - 257 , 58 , - 235 , 66 , - 209 , 73 , - 182 , 81 , - 153 , 88 , - 122 , 93 , - 91 , 97 , - 60 , 99 , - 30 , 98 , - 0 , 94 , - -26 , 87 , - -52 , 76 , - -75 , 62 , - -95 , 45 , - -112 , 25 , - -126 , 1 , - -136 , -24 , - -143 , -51 , - -147 , -81 , - -147 , -111 , - -145 , -141 , - -139 , -171 , - -132 , -200 , - -122 , -227 , - -111 , -252 , - -98 , -274 , - -85 , -292 , - -71 , -307 , - -58 , -317 , - -45 , -324 , - -33 , -326 , - -23 , -324 , - -13 , -317 , - -6 , -307 , - 0 , -293 , - 3 , -275 , - 5 , -255 , - 5 , -232 , - 3 , -208 , - 0 , -183 , - -5 , -156 , - -11 , -130 , - -19 , -104 , - -27 , -80 , - -35 , -56 , - -44 , -34 , - -52 , -14 , - -60 , 3 , - -66 , 19 , - -72 , 32 , - -76 , 44 , - -79 , 53 , - -79 , 60 , - -78 , 66 , - -75 , 70 , - -70 , 73 , - -63 , 75 , - -54 , 76 , - -43 , 78 , - -31 , 79 , - -18 , 79 , - -3 , 81 , - 11 , 82 , - 27 , 84 , - 44 , 86 , - 60 , 88 , - 76 , 90 , - 91 , 93 , - 105 , 94 , - 118 , 96 , - 129 , 96 , - 138 , 95 , - 146 , 93 , - 151 , 90 , - 155 , 85 , - 156 , 78 , - 154 , 69 , - 150 , 59 , - 145 , 47 , - 136 , 33 , - 126 , 18 , - 114 , 2 , - 101 , -14 , - 86 , -31 , - 69 , -48 , - 52 , -64 , - 34 , -78 , - 16 , -91 , - -1 , -102 , - -18 , -110 , - -35 , -115 , - -51 , -116 , - -66 , -114 , - -79 , -108 , - -91 , -97 , - -100 , -83 , - -108 , -65 , - -113 , -43 , - -116 , -18 , - -116 , 9 , - -114 , 39 , - -109 , 71 , - -103 , 105 , - -93 , 138 , - -82 , 172 , - -70 , 204 , - -55 , 234 , - -39 , 262 , - -23 , 287 , - -6 , 309 , - 11 , 326 , - 28 , 339 , - 44 , 348 , - 60 , 351 , - 74 , 350 , - 86 , 344 , - 96 , 333 , - 103 , 318 , - 108 , 299 , - 110 , 277 , - 108 , 253 , - 103 , 226 , - 95 , 197 , - 83 , 168 , - 68 , 139 , - 50 , 111 , - 29 , 83 , - 5 , 58 , - -20 , 35 , - -47 , 15 , - -76 , -1 , - -105 , -15 , - -134 , -25 , - -163 , -32 , - -191 , -34 , - -217 , -34 , - -240 , -30 , - -261 , -23 , - -278 , -14 , - -291 , -2 , - -300 , 11 , - -305 , 26 , - -304 , 42 , - -299 , 58 , - -288 , 74 , - -273 , 90 , - -253 , 105 , - -229 , 119 , - -201 , 132 , - -170 , 144 , - -135 , 154 , - -99 , 163 , - -61 , 170 , - -22 , 176 , - 15 , 180 , - 53 , 183 , - 89 , 186 , - 122 , 187 , - 153 , 188 , - 180 , 189 , - 203 , 190 , - 221 , 190 , - 234 , 191 , - 242 , 193 , - 244 , 194 , - 242 , 196 , - 234 , 199 , - 221 , 202 , - 204 , 205 , - 183 , 208 , - 159 , 211 , - 132 , 213 , - 103 , 215 , - 73 , 216 , - 42 , 216 , - 11 , 215 , - -17 , 212 , - -45 , 207 , - -71 , 201 , - -94 , 193 , - -113 , 183 , - -129 , 171 , - -140 , 157 , - -148 , 142 , - -151 , 125 , - -150 , 107 , - -145 , 88 , - -137 , 68 , - -125 , 49 , - -111 , 29 , - -94 , 10 , - -75 , -7 , - -55 , -24 , - -34 , -39 , - -13 , -53 , - 6 , -65 , - 26 , -74 , - 44 , -81 , - 60 , -86 , - 74 , -88 , - 86 , -89 , - 96 , -87 , - 103 , -83 , - 107 , -78 , - 110 , -71 , - 110 , -63 , - 109 , -55 , - 107 , -46 , - 103 , -37 , - 99 , -29 , - 95 , -20 , - 91 , -13 , - 87 , -7 , - 85 , -2 , - 84 , 1 , - 85 , 3 , - 87 , 3 , - 92 , 3 , - 98 , 1 , - 106 , -1 , - 116 , -5 , - 128 , -9 , - 141 , -14 , - 155 , -19 , - 170 , -24 , - 186 , -29 , - 201 , -32 , - 216 , -35 , - 230 , -37 , - 243 , -37 , - 255 , -36 , - 265 , -34 , - 273 , -30 , - 280 , -24 , - 284 , -17 , - 286 , -10 , - 286 , -1 , - 284 , 8 , - 280 , 18 , - 275 , 28 , - 269 , 38 , - 261 , 48 , - 253 , 57 , - 245 , 65 , - 237 , 72 , - 229 , 77 , - 221 , 81 , - 214 , 83 , - 208 , 84 , - 202 , 83 , - 198 , 80 , - 194 , 76 , - 191 , 70 , - 189 , 64 , - 187 , 56 , - 185 , 48 , - 183 , 40 , - 181 , 31 , - 178 , 23 , - 175 , 15 , - 170 , 7 , - 163 , 0 , - 156 , -5 , - 146 , -10 , - 135 , -14 , - 123 , -18 , - 109 , -21 , - 93 , -23 , - 77 , -25 , - 60 , -27 , - 42 , -30 , - 25 , -33 , - 8 , -36 , - -6 , -41 , - -20 , -48 , - -33 , -55 , - -43 , -65 , - -50 , -77 , - -54 , -91 , - -55 , -106 , - -53 , -124 , - -47 , -143 , - -39 , -164 , - -27 , -185 , - -13 , -208 , - 3 , -230 , - 21 , -252 , - 41 , -274 , - 61 , -294 , - 81 , -312 , - 100 , -327 , - 118 , -339 , - 135 , -348 , - 148 , -353 , - 159 , -353 , - 166 , -349 , - 169 , -341 , - 169 , -329 , - 164 , -312 , - 156 , -291 , - 144 , -267 , - 129 , -240 , - 110 , -211 , - 90 , -181 , - 68 , -149 , - 45 , -118 , - 23 , -88 , - 1 , -60 , - -18 , -34 , - -36 , -12 , - -50 , 4 , - -60 , 17 , - -66 , 24 , - -67 , 26 , - -62 , 22 , - -52 , 12 , - -36 , -2 , - -15 , -24 , - 10 , -50 , - 40 , -80 , - 75 , -114 , - 112 , -150 , - 151 , -188 , - 191 , -227 , - 232 , -265 , - 271 , -301 , - 308 , -334 , - 342 , -364 , - 372 , -388 , - 396 , -407 , - 415 , -419 , - 427 , -424 , - 433 , -421 , - 431 , -410 , - 421 , -391 , - 405 , -365 , - 381 , -331 , - 351 , -290 , - 315 , -243 , - 273 , -190 , - 228 , -134 , - 179 , -74 , - 128 , -12 , - 76 , 49 , - 25 , 111 , - -24 , 171 , - -72 , 228 , - -117 , 280 , - -156 , 327 , - -191 , 368 , - -220 , 402 , - -242 , 428 , - -258 , 446 , - -267 , 456 , - -269 , 457 , - -264 , 451 , - -253 , 436 , - -236 , 414 , - -214 , 385 , - -188 , 350 , - -158 , 309 , - -125 , 265 , - -90 , 217 , - -54 , 168 , - -19 , 117 , - 16 , 65 , - 50 , 15 , - 81 , -32 , - 110 , -79 , - 136 , -122 , - 159 , -161 , - 178 , -196 , - 193 , -226 , - 205 , -252 , - 213 , -272 , - 217 , -288 , - 219 , -299 , - 218 , -306 , - 215 , -308 , - 210 , -307 , - 204 , -302 , - 198 , -294 , - 190 , -283 , - 183 , -269 , - 177 , -254 , - 171 , -238 , - 165 , -220 , - 161 , -201 , - 158 , -181 , - 155 , -161 , - 154 , -141 , - 153 , -120 , - 153 , -99 , - 153 , -78 , - 153 , -56 , - 153 , -35 , - 152 , -13 , - 150 , 8 , - 148 , 29 , - 144 , 51 , - 139 , 73 , - 132 , 94 , - 124 , 115 , - 115 , 135 , - 104 , 154 , - 92 , 173 , - 79 , 190 , - 65 , 205 , - 51 , 218 , - 38 , 229 , - 24 , 238 , - 11 , 244 , - 0 , 248 , - -11 , 248 , - -21 , 246 , - -28 , 240 , - -34 , 232 , - -39 , 221 , - -41 , 208 , - -41 , 193 , - -40 , 176 , - -38 , 157 , - -34 , 138 , - -29 , 118 , - -24 , 98 , - -18 , 78 , - -13 , 59 , - -8 , 41 , - -4 , 24 , - -1 , 9 , - 0 , -4 , - -1 , -15 , - -4 , -24 , - -9 , -32 , - -16 , -38 , - -26 , -43 , - -37 , -46 , - -50 , -49 , - -65 , -52 , - -81 , -54 , - -99 , -57 , - -116 , -60 , - -134 , -65 , - -151 , -71 , - -168 , -79 , - -183 , -89 , - -196 , -101 , - -207 , -114 , - -216 , -129 , - -222 , -146 , - -225 , -163 , - -224 , -182 , - -220 , -200 , - -213 , -217 , - -202 , -233 , - -189 , -247 , - -172 , -259 , - -153 , -267 , - -132 , -271 , - -108 , -271 , - -84 , -266 , - -58 , -255 , - -32 , -239 , - -5 , -218 , - 19 , -191 , - 44 , -160 , - 68 , -123 , - 89 , -83 , - 109 , -40 , - 125 , 4 , - 139 , 50 , - 150 , 97 , - 158 , 142 , - 163 , 184 , - 164 , 223 , - 162 , 258 , - 156 , 287 , - 147 , 309 , - 136 , 324 , - 121 , 331 , - 103 , 329 , - 83 , 319 , - 61 , 301 , - 38 , 274 , - 12 , 240 , - -14 , 200 , - -41 , 153 , - -69 , 102 , - -98 , 47 , - -126 , -8 , - -154 , -66 , - -181 , -122 , - -207 , -176 , - -231 , -226 , - -254 , -270 , - -275 , -309 , - -294 , -340 , - -310 , -362 , - -323 , -376 , - -334 , -380 , - -342 , -375 , - -347 , -361 , - -348 , -338 , - -347 , -307 , - -343 , -268 , - -335 , -224 , - -326 , -175 , - -313 , -122 , - -298 , -67 , - -281 , -12 , - -262 , 42 , - -242 , 93 , - -221 , 141 , - -199 , 184 , - -177 , 220 , - -155 , 249 , - -133 , 271 , - -112 , 284 , - -93 , 288 , - -74 , 285 , - -57 , 273 , - -42 , 254 , - -29 , 228 , - -18 , 197 , - -9 , 161 , - -2 , 123 , - 2 , 82 , - 6 , 41 , - 8 , 1 , - 9 , -36 , - 10 , -70 , - 10 , -100 , - 9 , -124 , - 9 , -141 , - 9 , -152 , - 10 , -156 , - 12 , -152 , - 15 , -141 , - 20 , -124 , - 26 , -100 , - 33 , -72 , - 42 , -39 , - 53 , -4 , - 64 , 33 , - 76 , 70 , - 89 , 106 , - 102 , 141 , - 115 , 171 , - 127 , 197 , - 139 , 216 , - 148 , 230 , - 156 , 235 , - 162 , 233 , - 165 , 223 , - 165 , 205 , - 162 , 179 , - 156 , 146 , - 147 , 106 , - 136 , 60 , - 121 , 10 , - 104 , -43 , - 84 , -99 , - 63 , -156 , - 41 , -213 , - 18 , -268 , - -4 , -320 , - -26 , -367 , - -48 , -409 , - -67 , -445 , - -84 , -473 , - -99 , -494 , - -110 , -506 , - -117 , -510 , - -121 , -506 , - -120 , -494 , - -116 , -474 , - -107 , -447 , - -95 , -414 , - -79 , -375 , - -61 , -333 , - -40 , -287 , - -17 , -239 , - 7 , -190 , - 31 , -142 , - 56 , -95 , - 80 , -50 , - 102 , -9 , - 123 , 27 , - 140 , 59 , - 154 , 85 , - 165 , 106 , - 172 , 120 , - 174 , 128 , - 172 , 130 , - 166 , 126 , - 157 , 116 , - 143 , 101 , - 127 , 81 , - 107 , 58 , - 86 , 31 , - 62 , 2 , - 39 , -28 , - 14 , -59 , - -8 , -90 , - -30 , -121 , - -51 , -150 , - -69 , -177 , - -84 , -201 , - -96 , -222 , - -105 , -239 , - -110 , -252 , - -111 , -261 , - -108 , -265 , - -101 , -265 , - -92 , -261 , - -79 , -253 , - -65 , -241 , - -48 , -226 , - -30 , -207 , - -11 , -186 , - 7 , -162 , - 25 , -137 , - 42 , -110 , - 58 , -83 , - 71 , -56 , - 82 , -30 , - 91 , -4 , - 96 , 18 , - 98 , 40 , - 97 , 60 , - 93 , 77 , - 87 , 90 , - 78 , 101 , - 67 , 108 , - 54 , 111 , - 40 , 110 , - 26 , 106 , - 12 , 99 , - -1 , 88 , - -14 , 74 , - -26 , 58 , - -35 , 39 , - -42 , 18 , - -46 , -3 , - -48 , -27 , - -47 , -50 , - -42 , -74 , - -35 , -97 , - -26 , -119 , - -13 , -140 , - 0 , -159 , - 15 , -175 , - 32 , -188 , - 50 , -198 , - 68 , -206 , - 85 , -209 , - 101 , -210 , - 116 , -207 , - 128 , -201 , - 139 , -191 , - 146 , -179 , - 151 , -165 , - 152 , -148 , - 151 , -130 , - 146 , -110 , - 138 , -89 , - 127 , -68 , - 113 , -47 , - 97 , -27 , - 79 , -7 , - 60 , 10 , - 40 , 28 , - 19 , 43 , - 0 , 57 , - -20 , 70 , - -38 , 80 , - -55 , 89 , - -69 , 97 , - -80 , 104 , - -89 , 110 , - -94 , 115 , - -96 , 121 , - -94 , 126 , - -89 , 133 , - -80 , 140 , - -68 , 148 , - -52 , 158 , - -34 , 169 , - -14 , 183 , - 8 , 197 , - 32 , 214 , - 57 , 232 , - 83 , 251 , - 109 , 271 , - 134 , 291 , - 158 , 312 , - 181 , 332 , - 203 , 351 , - 222 , 368 , - 238 , 384 , - 252 , 397 , - 263 , 407 , - 271 , 413 , - 276 , 416 , - 279 , 415 , - 278 , 411 , - 275 , 402 , - 270 , 390 , - 262 , 374 , - 253 , 355 , - 243 , 333 , - 231 , 310 , - 220 , 285 , - 208 , 260 , - 196 , 234 , - 186 , 210 , - 176 , 187 , - 168 , 166 , - 161 , 148 , - 156 , 133 , - 153 , 122 , - 153 , 116 , - 154 , 113 , - 157 , 114 , - 162 , 119 , - 169 , 128 , - 177 , 140 , - 186 , 154 , - 195 , 171 , - 205 , 188 , - 214 , 206 , - 223 , 222 , - 230 , 238 , - 236 , 250 , - 240 , 259 , - 241 , 264 , - 240 , 264 , - 235 , 259 , - 227 , 248 , - 215 , 231 , - 200 , 208 , - 181 , 179 , - 159 , 145 , - 134 , 107 , - 105 , 64 , - 75 , 17 , - 42 , -30 , - 7 , -80 , - -27 , -130 , - -63 , -179 , - -98 , -226 , - -133 , -270 , - -166 , -309 , - -197 , -343 , - -225 , -370 , - -249 , -392 , - -270 , -405 , - -287 , -412 , - -299 , -411 , - -307 , -403 , - -309 , -389 , - -308 , -368 , - -301 , -341 , - -291 , -310 , - -276 , -275 , - -258 , -238 , - -237 , -199 , - -213 , -160 , - -188 , -122 , - -161 , -87 , - -134 , -54 , - -107 , -25 , - -80 , -2 , - -55 , 16 , - -32 , 29 , - -11 , 36 , - 6 , 37 , - 22 , 32 , - 34 , 22 , - 43 , 8 , - 49 , -10 , - 52 , -31 , - 53 , -55 , - 51 , -80 , - 48 , -105 , - 42 , -128 , - 36 , -150 , - 30 , -169 , - 24 , -185 , - 19 , -196 , - 15 , -202 , - 12 , -204 , - 12 , -199 , - 14 , -190 , - 19 , -175 , - 27 , -156 , - 38 , -132 , - 52 , -105 , - 69 , -75 , - 88 , -43 , - 109 , -9 , - 132 , 23 , - 156 , 56 , - 181 , 88 , - 206 , 117 , - 231 , 144 , - 255 , 167 , - 277 , 187 , - 298 , 202 , - 316 , 214 , - 331 , 221 , - 343 , 225 , - 353 , 225 , - 358 , 223 , - 361 , 218 , - 360 , 211 , - 356 , 203 , - 350 , 195 , - 341 , 187 , - 330 , 181 , - 318 , 175 , - 304 , 172 , - 290 , 170 , - 277 , 172 , - 263 , 175 , - 251 , 182 , - 239 , 190 , - 229 , 201 , - 221 , 212 , - 215 , 225 , - 211 , 238 , - 208 , 250 , - 207 , 261 , - 208 , 270 , - 210 , 276 , - 212 , 278 , - 216 , 277 , - 219 , 271 , - 221 , 261 , - 223 , 245 , - 224 , 225 , - 223 , 201 , - 221 , 172 , - 216 , 139 , - 209 , 104 , - 199 , 67 , - 187 , 28 , - 173 , -9 , - 157 , -46 , - 140 , -82 , - 121 , -114 , - 101 , -142 , - 81 , -165 , - 61 , -182 , - 41 , -193 , - 23 , -196 , - 7 , -193 , - -7 , -183 , - -19 , -166 , - -28 , -143 , - -33 , -113 , - -36 , -79 , - -35 , -41 , - -31 , 0 , - -24 , 43 , - -14 , 86 , - -2 , 129 , - 10 , 161 , - 21 , 170 , - 27 , 155 , - 26 , 119 , - 18 , 72 , - 8 , 28 , - 0 , 0 , - -1 , -6 , - -1 , -3 , - -1 , -3 , - -1 , -1 , - -1 , -1 , - -1 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , - 0 , 0 , -} +#else +EXTERNAL short input_buffer[307360] = {0} #endif /* INIT_VARIABLES_INPUT_BUFFER_H */ ; #undef EXTERNAL diff --git a/openair1/SIMULATION/TOOLS/random_channel.c b/openair1/SIMULATION/TOOLS/random_channel.c index 5884348a78c466d0517370a68473a2125e254277..17d34fed1a538a7362bf3924216e6eb12571b013 100644 --- a/openair1/SIMULATION/TOOLS/random_channel.c +++ b/openair1/SIMULATION/TOOLS/random_channel.c @@ -1944,9 +1944,10 @@ static int channelmod_show_cmd(char *buff, int debug, telnet_printfunc_t prnt) { } else if ( strcmp(subcmd,"current") == 0) { for (int i=0; i < max_chan ; i++) { if (defined_channels[i] != NULL) { - prnt("model %i %s type %s: \n----------------\n", i, (defined_channels[i]->model_name !=NULL)?defined_channels[i]->model_name:"(no name set)", + prnt("model %i %s type %s:\n", i, (defined_channels[i]->model_name !=NULL)?defined_channels[i]->model_name:"(no name set)", map_int_to_str(channelmod_names,defined_channels[i]->modelid)); display_channelmodel(defined_channels[i],debug,prnt); + prnt("----------------\n"); } } } else { diff --git a/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c b/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c index 161cdb7079a82afe2a6b63829e1f09b375deacc0..76f43eab5840ba00c6cd74d2f9d515c55fc42a6b 100644 --- a/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c +++ b/openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c @@ -3699,9 +3699,12 @@ void nr_ue_process_mac_pdu(nr_downlink_indication_t *dl_info, /*uint8_t ta_command = ((NR_MAC_CE_TA *)pduP)[1].TA_COMMAND; uint8_t tag_id = ((NR_MAC_CE_TA *)pduP)[1].TAGID;*/ + const int ta = ((NR_MAC_CE_TA *)pduP)[1].TA_COMMAND; + const int tag = ((NR_MAC_CE_TA *)pduP)[1].TAGID; ul_time_alignment->apply_ta = 1; - ul_time_alignment->ta_command = ((NR_MAC_CE_TA *)pduP)[1].TA_COMMAND; - ul_time_alignment->tag_id = ((NR_MAC_CE_TA *)pduP)[1].TAGID; + ul_time_alignment->ta_command = ta; //here + ul_time_alignment->ta_total += ta - 31; + ul_time_alignment->tag_id = tag; /* #ifdef DEBUG_HEADER_PARSING @@ -3709,7 +3712,10 @@ void nr_ue_process_mac_pdu(nr_downlink_indication_t *dl_info, #endif */ - LOG_I(NR_MAC, "[%d.%d] Received TA_COMMAND %u TAGID %u CC_id %d\n", frameP, slot, ul_time_alignment->ta_command, ul_time_alignment->tag_id, CC_id); + if (ta == 31) + LOG_D(NR_MAC, "[%d.%d] Received TA_COMMAND %u TAGID %u CC_id %d TA total %d\n", frameP, slot, ta, tag, CC_id, ul_time_alignment->ta_total); + else + LOG_I(NR_MAC, "[%d.%d] Received TA_COMMAND %u TAGID %u CC_id %d TA total %d\n", frameP, slot, ta, tag, CC_id, ul_time_alignment->ta_total); break; case DL_SCH_LCID_CON_RES_ID: @@ -4082,7 +4088,10 @@ int nr_ue_process_rar(nr_downlink_indication_t *dl_info, NR_UL_TIME_ALIGNMENT_t // TA command ul_time_alignment->apply_ta = 1; - ul_time_alignment->ta_command = 31 + rar->TA2 + (rar->TA1 << 5); + const int ta = rar->TA2 + (rar->TA1 << 5); + ul_time_alignment->ta_command = 31 + ta; + ul_time_alignment->ta_total = ta; + LOG_W(MAC, "received TA command %d\n", ul_time_alignment->ta_command); #ifdef DEBUG_RAR // CSI diff --git a/cmake_targets/autotests/tools/find_usb_path.bash b/openshift/oai-gnb-aw2s-bc.yaml old mode 100755 new mode 100644 similarity index 66% rename from cmake_targets/autotests/tools/find_usb_path.bash rename to openshift/oai-gnb-aw2s-bc.yaml index 91156012b766636be052b5ae06ab0354ec57cfdb..fe803c57f354cf7d0c54501f154e0ed30dec0c1c --- a/cmake_targets/autotests/tools/find_usb_path.bash +++ b/openshift/oai-gnb-aw2s-bc.yaml @@ -1,4 +1,3 @@ -#!/bin/bash #/* # * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more # * contributor license agreements. See the NOTICE file distributed with @@ -19,25 +18,24 @@ # * For more information about the OpenAirInterface (OAI) Software Alliance: # * contact@openairinterface.org # */ - -# \author Navid Nikaein, Rohit Gupta - - -#arg1 idVendor -#arg2 idProduct -argIdVendor=$1 -argIdProduct=$2 - -echo $1 -echo $2 - -for X in /sys/bus/usb/devices/*; do - #echo "$X" - idVendor=`cat "$X/idVendor" 2>/dev/null` - idProduct=`cat "$X/idProduct" 2>/dev/null` - if [ "$argIdVendor" == "$idVendor" ] && [ "$argIdProduct" == "$idProduct" ] - then - echo "$X" - fi -done - +#--------------------------------------------------------------------- +# +kind: BuildConfig +apiVersion: build.openshift.io/v1 +metadata: + name: "oai-gnb-aw2s" +spec: + runPolicy: "Serial" + source: + type: "Binary" + configMaps: + - configMap: + name: aw2s-library + destinationDir: libori.so + strategy: + dockerStrategy: + dockerfilePath: "docker/Dockerfile.gNB.aw2s.rhel8.2" + output: + to: + kind: "ImageStreamTag" + name: "oai-gnb-aw2s:latest" diff --git a/cmake_targets/autotests/tools/git-retry.sh b/openshift/oai-gnb-aw2s-is.yaml old mode 100755 new mode 100644 similarity index 76% rename from cmake_targets/autotests/tools/git-retry.sh rename to openshift/oai-gnb-aw2s-is.yaml index f0366b2ae58deb439459318f1b74dd0b9392d6fe..dd6a1ed05ad8b358b1e5f48a8f7b1201e2b0a8ff --- a/cmake_targets/autotests/tools/git-retry.sh +++ b/openshift/oai-gnb-aw2s-is.yaml @@ -1,4 +1,3 @@ -#!/bin/bash #/* # * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more # * contributor license agreements. See the NOTICE file distributed with @@ -19,22 +18,13 @@ # * For more information about the OpenAirInterface (OAI) Software Alliance: # * contact@openairinterface.org # */ - -# \author Navid Nikaein, Rohit Gupta - -#Simple script to retry git clone in case of failure - -REALGIT=/usr/bin/git - -RETRIES=10 -DELAY=10 -COUNT=1 -while [ $COUNT -lt $RETRIES ]; do - $REALGIT $* >> git-clone-`hostname`-log.txt 2>&1 - if [ $? -eq 0 ]; then - RETRIES=0 - break - fi - let COUNT=$COUNT+1 - sleep $DELAY -done +#--------------------------------------------------------------------- +# +apiVersion: image.openshift.io/v1 +kind: ImageStream +metadata: + name: oai-gnb-aw2s + namespace: oaicicd-ran +spec: + lookupPolicy: + local: true diff --git a/sdr/ADRV9371_ZC706/SYRTEM_IQ_QuickStart.readme b/sdr/ADRV9371_ZC706/SYRTEM_IQ_QuickStart.readme index 82814a1d588270f779512dcfdb0aaa5f8209642a..5467c398e4409fcc5c019cc50e33cf674c97c278 100755 --- a/sdr/ADRV9371_ZC706/SYRTEM_IQ_QuickStart.readme +++ b/sdr/ADRV9371_ZC706/SYRTEM_IQ_QuickStart.readme @@ -79,7 +79,7 @@ run: source oaienv sudo -E /usr/local/etc/syriq/cpu-irq.sh -sudo -E cset shield -e ./targets/bin/nr-uesoftmodem.Rel15 -- --numerology 1 -r 106 -C 3510000000 --loop-memory --rf-config-file /usr/local/etc/syriq/ue.band22.tm1.PRB100.NR40.dat +sudo -E cset shield -e ./cmake_targets/ran_build/nr-uesoftmodem -- --numerology 1 -r 106 -C 3510000000 --loop-memory --rf-config-file /usr/local/etc/syriq/ue.band22.tm1.PRB100.NR40.dat @@ -133,4 +133,4 @@ run: source oaienv sudo -E /usr/local/etc/syriq/cpu-irq.sh -sudo -E cset shield -e ./targets/bin/nr-softmodem.Rel15 -- -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band22.tm1.106PRB.adrv9371zc706.conf --rf-config-file /usr/local/etc/syriq/gnb.band22.tm1.PRB100.NR40_hwgain15.dat +sudo -E cset shield -e ./cmake_targets/ran_build/build/nr-softmodem -- -O $OPENAIR_DIR/targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band22.tm1.106PRB.adrv9371zc706.conf --rf-config-file /usr/local/etc/syriq/gnb.band22.tm1.PRB100.NR40_hwgain15.dat diff --git a/sdr/rfsimulator/README.md b/sdr/rfsimulator/README.md index feb7f015b96683857b4245a9ea2029ff5557a636..9ea855e9dac7eb67b82aa91b15ad8d35fc3f05ea 100644 --- a/sdr/rfsimulator/README.md +++ b/sdr/rfsimulator/README.md @@ -30,7 +30,7 @@ Flags for Deadline scheduler: False ...................... ...................... Compiling rfsimulator -Log file for compilation has been written to: /usr/local/oai/rfsimu_config/openairinterface5g/cmake_targets/log/rfsimulator.Rel15.txt +Log file for compilation has been written to: /usr/local/oai/rfsimu_config/openairinterface5g/cmake_targets/log/rfsimulator.txt rfsimulator compiled ...................... ...................... @@ -101,7 +101,7 @@ Except this, the UE and the eNB can be used as if the RF is real. noS1 mode can If you reach 'RA not active' on UE, be careful to generate a valid SIM. ```bash -$OPENAIR_DIR/targets/bin/conf2uedata -c $OPENAIR_DIR/openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf -o . +$OPENAIR_DIR/cmake_targets/ran_build/build/conf2uedata -c $OPENAIR_DIR/openair3/NAS/TOOLS/ue_eurecom_test_sfr.conf -o . ``` ## 5G case diff --git a/sdr/rfsimulator/apply_channelmod.c b/sdr/rfsimulator/apply_channelmod.c index 5cb16803bbf3ee4d4b0fe28fff76d4420abdf513..42ae11e6b13c6dffb0279112869b257105f4d210 100644 --- a/sdr/rfsimulator/apply_channelmod.c +++ b/sdr/rfsimulator/apply_channelmod.c @@ -68,13 +68,11 @@ void rxAddInput( const c16_t *input_sig, // Energy in one sample to calibrate input noise // the normalized OAI value seems to be 256 as average amplitude (numerical amplification = 1) const double noise_per_sample = pow(10,channelDesc->noise_power_dB/10.0) * 256; - // Fixme: we don't fill the offset length samples at begining ? - // anyway, in today code, channel_offset=0 const int dd = abs(channelDesc->channel_offset); const int nbTx=channelDesc->nb_tx; - for (int i=0; i<((int)nbSamples-dd); i++) { - c16_t *out_ptr=after_channel_sig+dd+i; + for (int i=0; i<nbSamples; i++) { + struct complex16 *out_ptr=after_channel_sig+i; struct complexd rx_tmp= {0}; for (int txAnt=0; txAnt < nbTx; txAnt++) { @@ -88,7 +86,9 @@ void rxAddInput( const c16_t *input_sig, // but it is not very usefull // it would be better to split out each antenna in a separate flow // that will allow to mix ru antennas freely - c16_t tx16=input_sig[((TS+i-l)*nbTx+txAnt)%CirSize]; + // (X + cirSize) % cirSize to ensure that index is positive + const int idx = ((TS + i - l - dd) * nbTx + txAnt + CirSize) % CirSize; + const struct complex16 tx16 = input_sig[idx]; rx_tmp.r += tx16.r * channelModel[l].r - tx16.i * channelModel[l].i; rx_tmp.i += tx16.i * channelModel[l].r + tx16.r * channelModel[l].i; } //l diff --git a/sdr/rfsimulator/simulator.c b/sdr/rfsimulator/simulator.c index a395f3ca8561617d3b699708bf573dfaf37aee20..b9b2223bdb7e22a47ec32d983d70c8b389804544 100644 --- a/sdr/rfsimulator/simulator.c +++ b/sdr/rfsimulator/simulator.c @@ -90,8 +90,14 @@ static int rfsimu_setchanmod_cmd(char *buff, int debug, telnet_printfunc_t prnt, void *arg); +static int rfsimu_setdistance_cmd(char *buff, int debug, telnet_printfunc_t prnt, void *arg); +static int rfsimu_getdistance_cmd(char *buff, int debug, telnet_printfunc_t prnt, void *arg); +static int rfsimu_vtime_cmd(char *buff, int debug, telnet_printfunc_t prnt, void *arg); static telnetshell_cmddef_t rfsimu_cmdarray[] = { {"setmodel","<model name> <model type>",(cmdfunc_t)rfsimu_setchanmod_cmd,TELNETSRV_CMDFLAG_PUSHINTPOOLQ}, + {"setdistance","<model name> <distance>", (cmdfunc_t)rfsimu_setdistance_cmd, TELNETSRV_CMDFLAG_PUSHINTPOOLQ}, + {"getdistance","<model name>", (cmdfunc_t) rfsimu_getdistance_cmd, TELNETSRV_CMDFLAG_PUSHINTPOOLQ}, + {"vtime","", (cmdfunc_t) rfsimu_vtime_cmd, TELNETSRV_CMDFLAG_PUSHINTPOOLQ}, {"","",NULL}, }; @@ -369,6 +375,164 @@ static int rfsimu_setchanmod_cmd(char *buff, int debug, telnet_printfunc_t prnt, return CMDSTATUS_FOUND; } +//static void print_cirBuf(struct complex16 *circularBuf, +// uint64_t firstSample, +// uint32_t cirSize, +// int neg, +// int pos, +// int nbTx) +//{ +// for (int i = -neg; i < pos ; ++i) { +// for (int txAnt = 0; txAnt < nbTx; txAnt++) { +// const int idx = ((firstSample + i) * nbTx + txAnt + cirSize) % cirSize; +// if (i == 0) +// printf("->"); +// printf("%08x%08x\n", circularBuf[idx].r, circularBuf[idx].i); +// } +// } +// printf("\n"); +//} + +static void rfsimu_offset_change_cirBuf(struct complex16 *circularBuf, + uint64_t firstSample, + uint32_t cirSize, + int old_offset, + int new_offset, + int nbTx) +{ + //int start = max(new_offset, old_offset) + 10; + //int end = 10; + //printf("new_offset %d old_offset %d start %d end %d\n", new_offset, old_offset, start, end); + //printf("ringbuffer before:\n"); + //print_cirBuf(circularBuf, firstSample, cirSize, start, end, nbTx); + + int doffset = new_offset - old_offset; + if (doffset > 0) { + /* Moving away, creating a gap. We need to insert "zero" samples between + * the previous (end of the) slot and the new slot (at the ringbuffer + * index) to prevent that the receiving side detects things that are not + * in the channel (e.g., samples that have already been delivered). */ + for (int i = new_offset; i > 0; --i) { + for (int txAnt = 0; txAnt < nbTx; txAnt++) { + const int newidx = ((firstSample - i) * nbTx + txAnt + cirSize) % cirSize; + if (i > doffset) { + // shift samples not read yet + const int oldidx = (newidx + doffset) % cirSize; + circularBuf[newidx] = circularBuf[oldidx]; + } else { + // create zero samples between slots + const struct complex16 nullsample = {0, 0}; + circularBuf[newidx] = nullsample; + } + } + } + } else { + /* Moving closer, creating overlap between samples. For simplicity, we + * simply drop `doffset` samples at the end of the previous slot + * (this is, in a sense, arbitrary). In a real channel, there would be + * some overlap between samples, e.g., for `doffset == 1` we could add + * two samples. I think that we cannot do that for multiple samples, + * though, and so we just drop some */ + // drop the last -doffset samples of the previous slot + for (int i = old_offset; i > -doffset; --i) { + for (int txAnt = 0; txAnt < nbTx; txAnt++) { + const int oldidx = ((firstSample - i) * nbTx + txAnt + cirSize) % cirSize; + const int newidx = (oldidx - doffset) % cirSize; + circularBuf[newidx] = circularBuf[oldidx]; + } + } + } + + //printf("ringbuffer after:\n"); + //print_cirBuf(circularBuf, firstSample, cirSize, start, end, nbTx); +} + +static int rfsimu_setdistance_cmd(char *buff, int debug, telnet_printfunc_t prnt, void *arg) +{ + if (debug) + prnt("%s() buffer \"%s\"\n", __func__, buff); + + char *modelname; + int distance; + int s = sscanf(buff,"%m[^ ] %d\n", &modelname, &distance); + if (s != 2) { + prnt("require exact two parameters\n"); + return CMDSTATUS_VARNOTFOUND; + } + + rfsimulator_state_t *t = (rfsimulator_state_t *)arg; + const double sample_rate = t->sample_rate; + const double c = 299792458; /* 3e8 */ + + const int new_offset = (double) distance * sample_rate / c; + const double new_distance = (double) new_offset * c / sample_rate; + + prnt("\nnew_offset %d new (exact) distance %.3f m\n", new_offset, new_distance); + + /* Set distance in rfsim and channel model, update channel and ringbuffer */ + for (int i=0; i<FD_SETSIZE; i++) { + buffer_t *b=&t->buf[i]; + if (b->conn_sock <= 0 + || b->channel_model == NULL + || b->channel_model->model_name == NULL + || strcmp(b->channel_model->model_name, modelname) != 0) + continue; + + channel_desc_t *cd = b->channel_model; + const int old_offset = cd->channel_offset; + cd->channel_offset = new_offset; + + const int nbTx = cd->nb_tx; + rfsimu_offset_change_cirBuf(b->circularBuf, t->nextRxTstamp, CirSize, old_offset, new_offset, nbTx); + } + + free(modelname); + + return CMDSTATUS_FOUND; +} + +static int rfsimu_getdistance_cmd(char *buff, int debug, telnet_printfunc_t prnt, void *arg) +{ + if (debug) + prnt("%s() buffer \"%s\"\n", __func__, buff); + + char *modelname; + int s = sscanf(buff,"%ms\n", &modelname); + if (s != 1) { + prnt("require exact two parameters\n"); + return CMDSTATUS_VARNOTFOUND; + } + + rfsimulator_state_t *t = (rfsimulator_state_t *)arg; + const double sample_rate = t->sample_rate; + const double c = 299792458; /* 3e8 */ + + for (int i=0; i<FD_SETSIZE; i++) { + buffer_t *b=&t->buf[i]; + if (b->conn_sock <= 0 + || b->channel_model == NULL + || b->channel_model->model_name == NULL + || strcmp(b->channel_model->model_name, modelname) != 0) + continue; + + channel_desc_t *cd = b->channel_model; + const int offset = cd->channel_offset; + const double distance = (double) offset * c / sample_rate; + prnt("\noffset %d distance %.3f m\n", offset, distance); + } + + return CMDSTATUS_FOUND; +} + +static int rfsimu_vtime_cmd(char *buff, int debug, telnet_printfunc_t prnt, void *arg) +{ + rfsimulator_state_t *t = (rfsimulator_state_t *)arg; + const openair0_timestamp ts = t->nextRxTstamp; + const double sample_rate = t->sample_rate; + prnt("vtime measurement: TS %llu sample_rate %.3f\n", ts, sample_rate); + return CMDSTATUS_FOUND; +} + static int startServer(openair0_device *device) { rfsimulator_state_t *t = (rfsimulator_state_t *) device->priv; t->typeStamp=ENB_MAGICDL; @@ -772,6 +936,7 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) { rfsimulator->sample_rate=openair0_cfg->sample_rate; rfsimulator->tx_bw=openair0_cfg->tx_bw; rfsimulator_readconfig(rfsimulator); + LOG_W(HW, "rfsim: sample_rate %f\n", rfsimulator->sample_rate); pthread_mutex_init(&Sockmutex, NULL); LOG_I(HW,"rfsimulator: running as %s\n", rfsimulator-> typeStamp == ENB_MAGICDL ? "server waiting opposite rfsimulators to connect" : "client: will connect to a rfsimulator server side"); device->trx_start_func = rfsimulator->typeStamp == ENB_MAGICDL ? diff --git a/targets/TEST/OAI/README b/targets/TEST/OAI/README deleted file mode 100644 index a287266c85791609f505022aca9844660a2a3b20..0000000000000000000000000000000000000000 --- a/targets/TEST/OAI/README +++ /dev/null @@ -1,48 +0,0 @@ -OAI Test PLAN - -Obj.# Case# Test# Description - -01 pre-commit test case -01 01 Build OAI -01 01 00 Check Makefiles and -01 01 01 Build oaisim Rel8 -01 01 02 Build oaisim Rel8 + network device driver(nasmesh_fix) -01 01 03 Build lte-softmode Rel8 -01 01 04 Build dlsim Rel8 -01 01 05 Build ulsim Rel8 -01 01 06 Build oaisim Rel10 -01 01 07 Build oaisim Rel8 with cellular RRC for eNB -01 01 08 Build oaisim Rel8 with cellular RRC for UE -01 01 09 "commented test in targets/TEST/OAI/case01.py" -01 01 10 "commented test in targets/TEST/OAI/case01.py" -01 01 11 "commented test in targets/TEST/OAI/case01.py" -01 01 12 "commented test in targets/TEST/OAI/case01.py" -01 01 13 Build network device driver(oai_nw_drv type ethernet) -01 01 14 Build oaisim Rel8 with RRC lite (new cellular+ITTI) + RAL (802.21) -01 01 15 Build oaisim Rel10 with RRC lite (new cellular+ITTI) + RAL (802.21) - -01 02 Run OAI Rel8, and check the operation -01 02 00 Run OAI Rel8, and search for segmentation fault or exit -01 02 01 Run OAI Rel8, and search for execution errors -01 02 02 Run OAI Rel8 in abstraction mode and check that RRC proc is finished completely for the configured number of eNB and UE -01 02 03 Run OAI Rel8 in abstraction mode, send ping from from one eNB to each UE, and check that there is no packet losses -01 02 04 Run OAI Rel8 with full PHY, and check that the RRC proc for eNBsxUEs -01 02 05 Run OAI Rel8 with full PHY in FDD mode, and check that the RRC proc for eNBsxUEs - -01 03 Run OAI Rel10, and check the operation -01 03 00 Run OAI Rel10, and search for segmentation fault or exit -01 03 01 Run OAI Rel10, and search for execution errors -01 03 02 Run OAI Rel10 in abstraction mode, and check the RRC proc for eNBsxUEs -01 03 03 Run OAI Rel10 in full phy mode, and check the RRC proc for eNBsxUEs -01 03 04 Run OAI Rel10 in full phy mode in FDD mode, and check the RRC proc for eNBsxUEs -01 03 05 Run OAI Rel10 with eMBMS enabled, and check the SIB13 and MCCH -01 03 06 Run OAI Rel10 with eMBMS enabled, and check the MTCH -01 03 07 Run OAI Rel10 with eMBMS enabled and FDD mode, and check the MTCH - -02 Functional test case - -03 Non-Functional test case - -04 Failure test case - -05 Performance test case diff --git a/targets/TEST/OAI/case01.py b/targets/TEST/OAI/case01.py deleted file mode 100644 index 9595f7e35d0b2103ff10fe8c168506ed2d66a193..0000000000000000000000000000000000000000 --- a/targets/TEST/OAI/case01.py +++ /dev/null @@ -1,285 +0,0 @@ -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \file case01.py -# \brief test case 01 for OAI: compilations -# \author Navid Nikaein -# \date 2013 - 2015 -# \version 0.1 -# @ingroup _test - -import log -import openair -import core - -makerr1 = '***' -makerr2 = 'Error 1' - -def execute(oai, user, pw, host, logfile,logdir,debug,timeout): - - case = '01' - rv = 1 - oai.send_recv('cd $OPENAIR_TARGETS;') - - try: - log.start() - test = '00' - name = 'Check oai.svn.add' - conf = 'svn st -q | grep makefile' - diag = 'Makefile(s) changed. If you are adding a new file, make sure that it is added to the svn' - rsp = oai.send_recv('svn st -q | grep -i makefile;') - for item in rsp.split("\n"): - if "Makefile" in item: - rsp2=item.strip() + '\n' - oai.find_false_re(rsp,'Makefile') - except log.err, e: - diag = diag + "\n" + rsp2 - #log.skip(case, test, name, conf, e.value, logfile) - log.skip(case, test, name, conf, '', diag, logfile) - else: - log.ok(case, test, name, conf, '', logfile) - - oai.send('cd SIMU/USER;') - oai.send('mkdir ' + logdir + ';') - - try: - log.start() - test = '01' - name = 'Compile oai.rel8.make' - conf = 'make' - trace = logdir + '/log_' + case + test + '.txt;' - tee = ' 2>&1 | tee ' + trace - diag = "check the compilation errors for oai" - oai.send('make cleanall;') - oai.send('make cleanasn1;') - oai.send('rm -f ./oaisim.rel8.'+host) - oai.send_expect_false('make -j4 JF=1' + tee, makerr1, timeout) - oai.send('cp ./oaisim ./oaisim.rel8.'+host) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - rv = 0 - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '02' - name = 'Compile oai.rel8.nas.make' - conf = 'make nasmesh_fix; make LINK_ENB_PDCP_TO_IP_DRIVER=1' - diag = 'check the compilation errors for oai and nas driver' - oai.send('make cleanall;') - oai.send('rm -f ./oaisim.rel8.nas'+host) - oai.send('rm -f ./nasmesh;') - oai.send('make nasmesh_clean;') - trace = logdir + '/log_' + case + test + '_1.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('make nasmesh_fix' + tee, makerr1, 60) - oai.send('cp $OPENAIR2_DIR/NAS/DRIVER/MESH/nasmesh.ko .') - trace = logdir + '/log_' + case + test + '_2.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('make LINK_ENB_PDCP_TO_IP_DRIVER=1 JF=1 -j4' + tee, makerr1, timeout) - oai.send('cp ./oaisim ./oaisim.rel8.nas.'+host) - - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - rv = 0 - else: - log.ok(case, test, name, conf, '', logfile) - - oai.send('cd $OPENAIR_TARGETS;') - oai.send('cd RT/USER;') - - try: - log.start() - test = '03' - name = 'Compile oai.rel8.rf.make' - conf = 'make RTAI=0 EXMIMO=1 Rel8=1' - trace = logdir + '/log_' + case + test + '.txt;' - tee = ' 2>&1 | tee ' + trace - diag = 'check the compilation errors for Rel8' - oai.send('make cleanall;') - oai.send('rm -f ./oaisim.rel8.rf.'+host) - oai.send_expect_false('make RTAI=0 EXMIMO=1 -j4' + tee, makerr1, timeout) - oai.send('cp ./oaisim ./oaisim.rel8.rf.'+host) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - oai.send('cd $OPENAIR1_DIR;') - oai.send('cd SIMULATION/LTE_PHY;') - - try: - log.start() - test = '04' - name = 'Compile oai.rel8.phy.dlsim.make' - conf = 'make dlsim' - trace = logdir + '/log_' + case + test + '.txt;' - tee = ' 2>&1 | tee ' + trace - diag = 'check the compilation errors for dlsim in $OPENAIR1_DIR/SIMULATION/LTE_PHY' - oai.send('make clean;') - oai.send('rm -f ./dlsim.rel8.'+host) - oai.send_expect_false('make dlsim -j4 PERFECT_CE=1' + tee, makerr1, timeout) - oai.send('cp ./dlsim ./dlsim.rel8.'+host) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - rv = 0 - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '05' - name = 'Compile oai.rel8.phy.ulsim.make' - conf = 'make ulsim' - trace = logdir + '/log_' + case + test + '.txt;' - tee = ' 2>&1 | tee ' + trace - diag = 'check the compilation errors for ulsim in $OPENAIR1_DIR/SIMULATION/LTE_PHY' - oai.send('make clean;') - oai.send('rm -f ./ulsim.rel8.'+host) - oai.send_expect_false('make ulsim -j4' + tee, makerr1, timeout) - oai.send('cp ./ulsim ./ulsim.rel8.'+host) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - rv = 0 - else: - log.ok(case, test, name, conf, '', logfile) - - oai.send('cd $OPENAIR_TARGETS;') - oai.send('cd SIMU/USER;') - - try: - log.start() - test = '06' - name = 'Compile oai.rel8.itti.make' - conf = 'make DISABLE_XER_PRINT=1 ENABLE_ITTI=1 Rel8=1' - trace = logdir + '/log_' + case + test + '.txt;' - tee = ' 2>&1 | tee ' + trace - diag = 'check the compilation errors for ITTI Rel8' - oai.send('make clean;') - oai.send('rm -f ./oaisim.rel8.itti.'+host) - oai.send_expect_false('make DISABLE_XER_PRINT=1 ENABLE_ITTI=1 Rel8=1 -j4' + tee, makerr1, timeout) - oai.send('cp ./oaisim ./oaisim.rel8.itti.'+host) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - rv = 0 - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '07' - name = 'Compile oai.rel10.make' - conf = 'make RLC_STOP_ON_LOST_PDU=1 Rel10=1' - trace = logdir + '/log_' + case + test + '.txt;' - tee = ' 2>&1 | tee ' + trace - diag = 'check the compilation errors for Rel10' - oai.send('make clean;') - oai.send('make cleanall;') - oai.send('make cleanasn1;') - oai.send('rm -f ./oaisim.rel10.'+host) - oai.send_expect_false('make RLC_STOP_ON_LOST_PDU=1 Rel10=1 -j4' + tee, makerr1, timeout) - oai.send('cp ./oaisim ./oaisim.rel10.'+host) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - rv = 0 - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '08' - name = 'Compile oai.rel10.itti.make' - conf = 'make DISABLE_XER_PRINT=1 ENABLE_ITTI=1 RLC_STOP_ON_LOST_PDU=1 Rel10=1' - trace = logdir + '/log_' + case + test + '.txt;' - tee = ' 2>&1 | tee ' + trace - diag = 'check the compilation errors for ITTI Rel10' - oai.send('make cleanall;') - oai.send('rm -f ./oaisim.rel10.itti.'+host) - oai.send_expect_false('make DISABLE_XER_PRINT=1 ENABLE_ITTI=1 RLC_STOP_ON_LOST_PDU=1 Rel10=1 -j4' + tee, makerr1, timeout) - oai.send('cp ./oaisim ./oaisim.rel10.itti.'+host) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - rv = 0 - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '13' - name = 'Compile oai_nw_ether IP driver' - conf = 'make oai_nw_drv' - trace = logdir + '/log_' + case + test + '.txt;' - tee = ' 2>&1 | tee ' + trace - diag = 'check the compilation errors for ITTI Rel8' - oai.send('make clean;') - oai.send('make cleanall;') - oai.send('make cleanasn1;') - oai.send('rm -f ./oai_nw_drv;') - oai.send('make oai_nw_drv_clean;') - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('make oai_nw_drv' + tee, makerr1, 60) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '14' - name = 'Compile oai.rel8.itti.ral.make' - conf = 'make DISABLE_XER_PRINT=1 LINK_ENB_PDCP_TO_IP_DRIVER=1 OAI_NW_DRIVER_TYPE_ETHERNET=1 ENABLE_ITTI=1 OPENAIR2=1 ENABLE_RAL=1 MIH_C_MEDIEVAL_EXTENSIONS=1 RLC_STOP_ON_LOST_PDU=1 Rel8=1' - trace = logdir + '/log_' + case + test + '.txt;' - tee = ' 2>&1 | tee ' + trace - diag = 'check the compilation errors for ITTI Rel8' - oai.send('make clean;') - oai.send('make cleanall;') - oai.send('make cleanasn1;') - oai.send('rm -f ./oaisim.rel8.itti.ral.'+host) - oai.send_expect_false('make DISABLE_XER_PRINT=1 LINK_ENB_PDCP_TO_IP_DRIVER=1 OAI_NW_DRIVER_TYPE_ETHERNET=1 ENABLE_ITTI=1 OPENAIR2=1 ENABLE_RAL=1 MIH_C_MEDIEVAL_EXTENSIONS=1 RLC_STOP_ON_LOST_PDU=1 Rel8=1 -j4' + tee, makerr1, timeout) - oai.send('cp ./oaisim ./oaisim.rel8.itti.ral.'+host) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '15' - name = 'Compile oai.rel10.itti.ral.make' - conf = 'make DISABLE_XER_PRINT=1 LINK_ENB_PDCP_TO_IP_DRIVER=1 OAI_NW_DRIVER_TYPE_ETHERNET=1 ENABLE_ITTI=1 OPENAIR2=1 ENABLE_RAL=1 MIH_C_MEDIEVAL_EXTENSIONS=1 RLC_STOP_ON_LOST_PDU=1 Rel10=1' - trace = logdir + '/log_' + case + test + '.txt;' - tee = ' 2>&1 | tee ' + trace - diag = 'check the compilation errors for ITTI Rel10' - oai.send('make clean;') - oai.send('make cleanall;') - oai.send('make cleanasn1;') - oai.send('rm -f ./oaisim.rel10.itti.ral.'+host) - oai.send_expect_false('make DISABLE_XER_PRINT=1 LINK_ENB_PDCP_TO_IP_DRIVER=1 OAI_NW_DRIVER_TYPE_ETHERNET=1 ENABLE_ITTI=1 OPENAIR2=1 ENABLE_RAL=1 MIH_C_MEDIEVAL_EXTENSIONS=1 RLC_STOP_ON_LOST_PDU=1 Rel10=1 -j4' + tee, makerr1, timeout) - oai.send('cp ./oaisim ./oaisim.rel10.itti.ral.'+host) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - return rv - - diff --git a/targets/TEST/OAI/case02.py b/targets/TEST/OAI/case02.py deleted file mode 100644 index 741c96cd76ae9adfa468fca81eda911af5055d64..0000000000000000000000000000000000000000 --- a/targets/TEST/OAI/case02.py +++ /dev/null @@ -1,247 +0,0 @@ -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \file case02.py -# \brief test case 02 for OAI: executions -# \author Navid Nikaein -# \date 2013 - 2015 -# \version 0.1 -# @ingroup _test - -import time -import random -import log -import openair -import core - -NUM_UE=2 -NUM_eNB=1 -NUM_TRIALS=3 - -def execute(oai, user, pw, host, logfile,logdir,debug): - - case = '02' - oai.send('cd $OPENAIR_TARGETS;') - oai.send('cd SIMU/USER;') - - try: - log.start() - test = '00' - name = 'Run oai.rel8.sf' - conf = '-a -A AWGN -n 100' - diag = 'OAI is not running normally (Segmentation fault / Exiting / FATAL), debugging might be needed' - trace = logdir + '/log_' + host + case + test + '_1.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./oaisim.rel8.' + host + ' ' + conf + tee, 'Segmentation fault', 30) - trace = logdir + '/log_' + host + case + test + '_2.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./oaisim.rel8.' + host + ' ' + conf + tee, 'Exiting', 30) - trace = logdir + '/log_' + host + case + test + '_3.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./oaisim.rel8.' + host + ' ' + conf + tee, 'FATAL', 30) - - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '01' - name = 'Run oai.rel8.err' - conf = '-a -A AWGN -n 100 ' - trace = logdir + '/log_' + host + case + test + '_1.txt;' - tee = ' 2>&1 | tee ' + trace - diag = '[E] Error(s) found during the execution, check the execution logs' - oai.send_expect_false('./oaisim.rel8.'+ host + ' ' + conf, '[E]', 30) - - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '02' - name = 'Run oai.rel8.tdd.5MHz.rrc.abs' - diag = 'RRC procedure is not finished completely, check the execution logs and trace BCCH, CCCH, and DCCH channels' - for i in range(NUM_UE) : - for j in range(NUM_eNB) : - conf = '-a -A AWGN -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) - trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 100) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '03' - name = 'Run oai.rel8.tdd.5MHz.rrc.itti.abs' - diag = 'RRC procedure is not finished completely, check the eNB config file (default is enb.band7.generic.conf), in addition to the execution logs and trace BCCH, CCCH, and DCCH channels' - for i in range(NUM_UE) : - for j in range(NUM_eNB) : - log_name = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) - itti_name = log_name + '.log' - trace_name = log_name + '.txt' - conf = '-a -l7 -A AWGN --enb-conf ../../PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.conf -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -K' + itti_name - tee = ' 2>&1 | tee ' + trace_name - command = './oaisim.rel8.itti.' + host + ' ' + conf - oai.send('echo ' + command + ' > ' + trace_name + ';') - oai.send_expect(command + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 500) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile, trace_name) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test='04' - name = 'Run oai.rel8.tdd.5MHz.abs.ocg.otg' - diag = 'Check the scenario if the test 0202 is passed.' - conf = '-a -c26' - trace = logdir + '/log_' + host + case + test + '.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' DL and UL loss rate below 10 ', 500) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test='05' - name = 'Run oai.rel8.fdd.5MHz.abs.ocg.otg' - diag = 'Check the template 26 and the results of test 0202.' - conf = '-a -F -c26' - trace = logdir + '/log_' + host + case + test + '.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' DL and UL loss rate below 10 ', 500) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - - try: - log.start() - test = '06' - name = 'Run oai.rel8.tdd.5MHz.abs.ping' - diag = 'Data-plane is not working normally, check the OAI protocol stack, OAI driver, and normal operation of the OS' - - oai.driver(oai,user,pw) - - for i in range(NUM_eNB) : - for j in range(NUM_UE) : - conf = '-a -A AWGN -u' + str(j+1) +' -b'+ str(i+1) - trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt;' - tee = ' 2>&1 > ' + trace - - if user == 'root' : - oai.send_nowait('./oaisim.rel8.nas.' + host + ' ' + conf + ' &') - else : - oai.send_nowait('echo '+pw+ ' | sudo -S -E ./oaisim.rel8.nas.'+ host + ' ' + conf + tee + ' &') - time.sleep(10) - for k in range(NUM_TRIALS) : - trace_ping = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + str(k) + '_ping.txt;' - tee_ping = ' 2>&1 | tee ' + trace_ping - - oai.send_expect('ping 10.0.'+str(j+1)+'.'+str(NUM_eNB+i+1) + ' -c ' + str(random.randint(2, 10))+ ' -s ' + str(random.randint(128, 1500)) + tee_ping, ' 0% packet loss', 20) - if user == 'root' : - oai.send('pkill -f oaisim.rel8.nas.'+host) - time.sleep(1) - oai.send('pkill -f oaisim.rel8.nas.'+host) - else : - oai.send('pkill -f oaisim.rel8.nas.'+host) - time.sleep(1) - oai.send('echo '+pw+ ' | sudo -S pkill -f oaisim.rel8.nas.'+host) - time.sleep(1) - oai.send('echo '+pw+ ' | sudo -S pkill -f oaisim.rel8.nas.'+host) - time.sleep(1) - - oai.rm_driver(oai,user,pw) - - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '07' - name = 'Run oai.rel8.tdd.5MHz.phy.rrc' - diag = 'RRC procedure is not finished completely, check the execution logs and trace BCCH, CCCH, and DCCH channels' - for i in range(NUM_UE) : - for j in range(NUM_eNB) : - conf = '-A AWGN -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -x1' - trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 500) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '08' - name = 'Run oai.rel8.fdd.5MHz.phy.rrc' - diag = 'RRC procedure is not finished completely in FDD mode, check the execution logs and trace BCCH, CCCH, and DCCH channels' - for i in range(NUM_UE) : - for j in range(NUM_eNB) : - conf = '-A AWGN -F -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -x1' - trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 500) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '09' - name = 'Run oai.rel8.fdd.10MHz.phy.rrc' - diag = 'RRC procedure is not finished completely, check th execution logs and trace BCCH, CCCH, and DCCH channels and the results of test 0204' - conf = '-A AWGN -F -R 50 -n 150 -u 1 -b 1 -x1' - trace = logdir + '/log_' + host + case + test + '_1.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE 0', 600) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '10' - name = 'Run oai.rel8.fdd.20MHz.phy.rrc' - diag = 'RRC procedure is not finished completely, check th execution logs and trace BCCH, CCCH, and DCCH channels and the results of test 0204' - conf = '-A AWGN -F -R 100 -n 200 -u 1 -b 1 -x1' - trace = logdir + '/log_' + host + case + test + '_1.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect('./oaisim.rel8.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE 0', 700) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) diff --git a/targets/TEST/OAI/case03.py b/targets/TEST/OAI/case03.py deleted file mode 100644 index e2a783e3eab8900049995758f0ff3714b1bbb046..0000000000000000000000000000000000000000 --- a/targets/TEST/OAI/case03.py +++ /dev/null @@ -1,208 +0,0 @@ -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \file case03.py -# \brief test case 03 for OAI: executions -# \author Navid Nikaein -# \date 2013 -# \version 0.1 -# @ingroup _test - -import time -import random -import log -import openair -import core - -NUM_UE=2 -NUM_eNB=1 -NUM_TRIALS=3 - -def execute(oai, user, pw, host, logfile,logdir,debug): - - case = '03' - oai.send('cd $OPENAIR_TARGETS;') - oai.send('cd SIMU/USER;') - - try: - log.start() - test = '00' - name = 'Run oai.rel10.sf' - conf = '-a -A AWGN -l7 -n 100' - diag = 'OAI is not running normally (Segmentation fault / Exiting / FATAL), debugging might be needed' - trace = logdir + '/log_' + host + case + test + '_1.txt' - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./oaisim.rel10.' + host + ' ' + conf + tee, 'Segmentation fault', 30) - trace = logdir + '/log_' + host + case + test + '_2.txt' - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./oaisim.rel10.' + host + ' ' + conf + tee, 'Exiting', 30) - trace = logdir + '/log_' + host + case + test + '_3.txt' - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./oaisim.rel10.' + host + ' ' + conf + tee, 'FATAL', 30) - - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '01' - name = 'Run oai.rel10.err' - conf = '-a -A AWGN -l7 -n 100' - trace = logdir + '/log_' + host + case + test + '.txt;' - tee = ' 2>&1 | tee ' + trace - diag = 'Error(s) found in the execution, check the execution logs' - oai.send_expect_false('./oaisim.rel10.' + host + ' ' + conf + tee, '[E]', 30) - - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '02' - name = 'Run oai.rel10.tdd.5MHz.abs.rrc' - diag = 'RRC procedure is not finished completely, check the execution logs and trace BCCH, CCCH, and DCCH channels' - for i in range(NUM_UE) : - for j in range(NUM_eNB) : - conf = '-a -l7 -A AWGN -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) - trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect('./oaisim.rel10.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 100) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '03' - name = 'Run oai.rel10.tdd.5MHz.phy.rrc' - diag = 'RRC procedure is not finished completely, check the execution logs and trace BCCH, CCCH, and DCCH channels' - for i in range(NUM_UE) : - for j in range(NUM_eNB) : - conf = '-A AWGN -l7 -x 1 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1) - trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect('./oaisim.rel10.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 500) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '04' - name = 'Run oai.rel10.fdd.5MHz.phy.rrc' - diag = 'RRC procedure is not finished completely in FDD mode, check the execution logs and trace BCCH, CCCH, and DCCH channels' - for i in range(NUM_UE) : - for j in range(NUM_eNB) : - conf = '-A AWGN -l7 -F -x 1 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1) - trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect('./oaisim.rel10.' + host + ' ' + conf + tee, ' Received RRCConnectionReconfigurationComplete from UE ' + str(i), (i+1) * 500) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - - # try: - # test = '05' -# name = 'Run oai.rel10.phy.eMBMS.MCCH' -# diag = 'eMBMS procedure is not finished completely, make sure that the SIB13/MCCH have been correclty received by UEs' -# for i in range(NUM_UE) : -# for j in range(NUM_eNB) : -# conf = '-A AWGN -l7 -x 1 -Q3 -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) -# trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt' -# tee = ' 2>&1 | tee ' + trace -# oai.send_expect('./oaisim.rel10.' + host + ' ' + conf + tee, ' Found MBSFNAreaConfiguration from eNB ' + str(j), (i+1) * 200) -# except log.err, e: -# log.fail(case, test, name, conf, e.value, diag, logfile,trace) -# else: -# log.ok(case, test, name, conf, '', logfile) - -# try: -# test = '06' -# name = 'Run oai.rel10.phy.eMBMS.OTG' -# diag = 'eMBMS multicast/broadcast data is not received, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs' -# for i in range(NUM_UE) : -# for j in range(NUM_eNB) : -# conf = '-A AWGN -l7 -x 1 -T mscbr -Q3 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1) -# trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt' -# tee = ' 2>&1 | tee ' + trace -# oai.send_expect('./oaisim.rel10.' + host + ' ' + conf + tee, ' Received a multicast packet', (i+1) * 200) -# except log.err, e: -# log.fail(case, test, name, conf, e.value, diag, logfile,trace) -# else: -# log.ok(case, test, name, conf, 'Note: check the packet loss from the OTG stats', logfile) - -# try: -# test = '07' -# name = 'Run oai.rel10.phy.eMBMS.OTG.fdd' -# diag = 'eMBMS multicast/broadcast data is not received in fdd mode, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs' -# for i in range(NUM_UE) : -# for j in range(NUM_eNB) : -# conf = '-A AWGN -l7 -F -x 1 -T mscbr -Q3 -n' + str((i+1+j) * 100) + ' -u' + str(i+1) +' -b'+ str(j+1) -# trace = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) + '.txt' -# tee = ' 2>&1 | tee ' + trace -# oai.send_expect('./oaisim.rel10.' + host + ' ' + conf + tee, ' Received a multicast packet', (i+1) * 200) -# except log.err, e: -# log.fail(case, test, name, conf, e.value, diag, logfile,trace) -# else: -# log.ok(case, test, name, conf, 'Note: check the packet loss from the OTG stats', logfile) - - # try: - # test = '08' - # name = 'Run oai.rel10.phy.eMBMS.Relay.OTG.fdd' - # diag = 'eMBMS multicast/broadcast DF relaying is not working properly in fdd mode, make sure that the SIB13/MCCH/MTCH have been correclty received by UEs' - # conf = '-c43 -F -T mbvbr -Q4 -j1 -n120' - # tee = ' | tee ' + logs_dir + '/log_' + case + test + '.txt' - # oai.send_expect('./oaisim.rel10 ' + conf + tee, ' MTCH for sync area 1', 100) - # except log.err, e: - # log.fail(case, test, name, conf, e.value, diag, logfile) - # else: - # log.ok(case, test, name, conf, 'Note: check the packet loss from the OTG stats', logfile) - -# try: -# test = '09' -# name = 'Run oai.rel10.itti.phy.eMBMS.MCCH' -# diag = 'eMBMS procedure is not finished completely, check the eNB config file (enb.band7.generic.conf), and make sure that the SIB13/MCCH have been correclty received by UEs' -# for i in range(NUM_UE) : -# for j in range(NUM_eNB) : -# log_name = logdir + '/log_' + host + case + test + '_' + str(i) + str(j) -# itti_name = log_name + '.log' -# trace_name = log_name + '.txt' -# conf = '-A AWGN -l7 -x 1 -Q3 --enb-conf ../../PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.conf -n' + str((i+1+j) * 50) + ' -u' + str(i+1) +' -b'+ str(j+1) + ' -K' + itti_name -# tee = ' 2>&1 | tee -a ' + trace_name -# command = './oaisim.rel10.itti.' + host + ' ' + conf -# oai.send('echo ' + command + ' > ' + trace_name + ';') - # oai.send_expect(command + tee, ' Found MBSFNAreaConfiguration from eNB ' + str(j), (i+1) * 200) -# except log.err, e: -# log.fail(case, test, name, conf, e.value, diag, logfile, trace_name) -# else: -# log.ok(case, test, name, conf, '', logfile) - - - - diff --git a/targets/TEST/OAI/case04.py b/targets/TEST/OAI/case04.py deleted file mode 100644 index eb77f7229740894d86202d604192792e4781fce3..0000000000000000000000000000000000000000 --- a/targets/TEST/OAI/case04.py +++ /dev/null @@ -1,201 +0,0 @@ -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \file case04.py -# \brief test case 04 for OAI: executions -# \author Navid Nikaein -# \date 2013 - 2015 -# \version 0.1 -# @ingroup _test - -import time -import random -import log -import openair -import core - -NUM_UE=2 -NUM_eNB=1 -NUM_TRIALS=3 - -def execute(oai, user, pw, host, logfile,logdir,debug): - - case = '04' - oai.send('cd $OPENAIR1_DIR;') - oai.send('cd SIMULATION/LTE_PHY;') - - try: - log.start() - test = '00' - name = 'Perf oai.dlsim.sanity' - conf = '-a -A AWGN -n 100' - diag = 'dlsim is not running normally (Segmentation fault / Exiting / FATAL), debugging might be needed' - trace = logdir + '/log_' + host + case + test + '_1.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./dlsim.rel8.' + host + ' ' + conf + tee, 'Segmentation fault', 30) - trace = logdir + '/log_' + host + case + test + '_2.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./dlsim.rel8.' + host + ' ' + conf + tee, 'Exiting', 30) - trace = logdir + '/log_' + host + case + test + '_3.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./dlsim.rel8.' + host + ' ' + conf + tee, 'FATAL', 30) - - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '01' - name = 'Perf oai.dlsim.test1' - diag = 'Test 1, 10 MHz, R2.FDD (MCS 5), EVA5, -1dB' - conf = '-m5 -gF -s-1 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L' - trace = logdir + '/log_' + host + case + test +'.txt' - tee = ' 2>&1 | tee ' + trace - cmd = 'taskset -c 0 ./dlsim.rel8.' + host + ' ' + conf + tee - oai.send_expect(cmd, 'passed', 150) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - -# try: -# test = '05' -# name = 'Perf oai.dlsim.test5' -# diag = 'Test 5, 1.4 MHz, R4.FDD (MCS 4), EVA5, 0dB (70%)' -# conf = '-m4 -gF -s0 -w1.0 -f.2 -n500 -B6 -c4 -z2 -O70' -# trace = logdir + '/log_' + host + case + test + '.txt' -# tee = ' 2>&1 | tee ' + trace -# cmd = 'taskset -c 0 ./dlsim.rel8.' + host + ' ' + conf + tee -# oai.send_expect(cmd, 'passed', 150) -# except log.err, e: -# log.fail(case, test, name, conf, e.value, diag, logfile,trace) -# else: -# log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '06' - name = 'Perf oai.dlsim.test6' - diag = 'Test 6, 10 MHz, R3.FDD (MCS 15), EVA5, 6.7dB (70%)' - conf = '-m15 -gF -s6.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L' - trace = logdir + '/log_' + host + case + test + '.txt' - tee = ' 2>&1 | tee ' + trace - cmd = 'taskset -c 0 ./dlsim.rel8.' + host + ' ' + conf + tee - oai.send_expect(cmd, 'passed', 150) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '06b' - name = 'Perf oai.dlsim.test6b' - diag = 'Test 6b, 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (70%)' - conf = '-m14 -gF -s6.7 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O70 -L' - trace = logdir + '/log_' + host + case + test + '.txt' - tee = ' 2>&1 | tee ' + trace - cmd = 'taskset -c 0 ./dlsim.rel8.' + host + ' ' + conf + tee - oai.send_expect(cmd, 'passed', 150) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '07' - name = 'Perf oai.dlsim.test7' - diag = 'Test 6b, 5 MHz, R3-1.FDD (MCS 15), EVA5, 6.7dB (30%)' - conf = '-m15 -gG -s6.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O30 -L' - trace = logdir + '/log_' + host + case + test + '.txt' - tee = ' 2>&1 | tee ' + trace - cmd = 'taskset -c 0 ./dlsim.rel8.' + host + ' ' + conf + tee - oai.send_expect(cmd, 'passed', 150) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - - try: - log.start() - test = '07b' - name = 'Perf oai.dlsim.test7b' - diag = 'Test 7b, 5 MHz, R3-1.FDD (MCS 15), ETU70, 1.4 dB (30%)' - conf = '-m14 -gG -s1.4 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O30 -L' - trace = logdir + '/log_' + host + case + test + '.txt' - tee = ' 2>&1 | tee ' + trace - cmd = 'taskset -c 0 ./dlsim.rel8.' + host + ' ' + conf + tee - oai.send_expect(cmd, 'passed', 150) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '10' - name = 'Perf oai.dlsim.test10' - diag = 'Test 10, 5 MHz, R6.FDD (MCS 25), EVA5, 17.4 dB (70%)' - conf = '-m25 -gF -s17.4 -w1.0 -f.2 -n500 -B25 -c3 -z2 -O70 -L' - trace = logdir + '/log_' + host + case + test + '.txt' - tee = ' 2>&1 | tee ' + trace - cmd = 'taskset -c 0 ./dlsim.rel8.' + host + ' ' + conf + tee - oai.send_expect(cmd, 'passed', 150) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '10b' - name = 'Perf oai.dlsim.test10b' - diag = 'Test 10b, 5 MHz, R6-1.FDD (MCS 24,18 PRB), EVA5, 17.5dB (70%)' - conf = '-m25 -gF -s17.5 -w1.0 -f.2 -n500 -B25 -c3 -z2 -r1022 -O70 -L' - trace = logdir + '/log_' + host + case + test + '.txt' - tee = ' 2>&1 | tee ' + trace - cmd = 'taskset -c 0 ./dlsim.rel8.' + host + ' ' + conf + tee - oai.send_expect(cmd, 'passed', 150) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '11' - name = 'Perf oai.dlsim.test11' - diag = 'Test 11, 10 MHz, R7.FDD (MCS 25), EVA5, 17.7dB (70%)' - conf = '-m26 -gF -s17.7 -w1.0 -f.2 -n500 -B50 -c2 -z2 -O70 -L' - trace = logdir + '/log_' + host + case + test + '.txt' - tee = ' 2>&1 | tee ' + trace - cmd = 'taskset -c 0 ./dlsim.rel8.' + host + ' ' + conf + tee - oai.send_expect(cmd, 'passed', 150) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - diff --git a/targets/TEST/OAI/case05.py b/targets/TEST/OAI/case05.py deleted file mode 100644 index 4f03368721d2ff49d5197152a68cf6fc5f4b5253..0000000000000000000000000000000000000000 --- a/targets/TEST/OAI/case05.py +++ /dev/null @@ -1,163 +0,0 @@ -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \file case05.py -# \brief test case 05 for OAI: executions -# \author Navid Nikaein -# \date 2013 - 2015 -# \version 0.1 -# @ingroup _test - -import time -import random -import log -import openair -import core - -NUM_UE=2 -NUM_eNB=1 -NUM_TRIALS=3 - -def execute(oai, user, pw, host,logfile,logdir,debug): - - case = '04' - oai.send('cd $OPENAIR1_DIR;') - oai.send('cd SIMULATION/LTE_PHY;') - - try: - log.start() - test = '00' - name = 'Perf oai.ulsim.sanity' - conf = '-a -A AWGN -n 100' - diag = 'ulsim is not running normally (Segmentation fault / Exiting / FATAL), debugging might be needed' - trace = logdir + '/log_' + host + case + test + '_1.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./ulsim.rel8.' + host + ' ' + conf + tee, 'Segmentation fault', 30) - trace = logdir + '/log_' + host + case + test + '_2.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./ulsim.rel8.' + host + ' ' + conf + tee, 'Exiting', 30) - trace = logdir + '/log_' + host + case + test + '_3.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./ulsim.rel8.' + host + ' ' + conf + tee, 'FATAL', 30) - - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '01' - name = 'Perf oai.ulsim.test1' - diag = 'Test 1, 5 MHz, FDD (MCS 5), AWGN, 6dB' - conf = '-B25 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70 -L' - trace = logdir + '/log_' + host + case + test +'.txt' - tee = ' 2>&1 | tee ' + trace - #print test + 'not performed' - cmd = 'taskset -c 0 ./ulsim.rel8.' + host + ' ' + conf + tee - oai.send_expect(cmd, 'passed', 150) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '02' - name = 'Perf oai.ulsim.test2' - diag = 'Test 2, 5 MHz, FDD (MCS 16), AWGN , 12dB (70%)' - conf = '-B25 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70 -L' - trace = logdir + '/log_' + host + case + test + '.txt' - tee = ' 2>&1 | tee ' + trace - #print test + 'not performed' - cmd = 'taskset -c 0 ./ulsim.rel8.' + host + ' ' + conf + tee - oai.send_expect(cmd, 'passed', 150) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '03' - name = 'Perf oai.ulsim.test3' - diag = 'Test 3, 10 MHz, R3.FDD (MCS 5), AWGN, 6dB (70%)' - conf = '-B50 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70 -L' - trace = logdir + '/log_' + host + case + test + '.txt' - tee = ' 2>&1 | tee ' + trace - #print test + 'not performed' - cmd = 'taskset -c 0 ./ulsim.rel8.' + host + ' ' + conf + tee - oai.send_expect(cmd, 'passed', 150) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '04' - name = 'Perf oai.ulsim.test4' - diag = 'Test 4, 10 MHz, R3-1.FDD (MCS 16), AWGN, 12dB (70%)' - conf = '-B50 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70 -L' - trace = logdir + '/log_' + host + case + test + '.txt' - tee = ' 2>&1 | tee ' + trace - #print test + 'not performed' - cmd = 'taskset -c 0 ./ulsim.rel8.' + host + ' ' + conf + tee - oai.send_expect(cmd, 'passed', 150) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '05' - name = 'Perf oai.ulsim.test7' - diag = 'Test 5, 20 MHz, FDD (MCS 5), AWGN, 6dB (70%)' - conf = '-B100 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70 -L' - trace = logdir + '/log_' + host + case + test + '.txt' - tee = ' 2>&1 | tee ' + trace - #print test + 'not performed' - cmd = 'taskset -c 0 ./ulsim.rel8.' + host + ' ' + conf + tee - oai.send_expect(cmd, 'passed', 150) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '06' - name = 'Perf oai.ulsim.test10' - diag = 'Test 06, 20 MHz, FDD (MCS 16), AWGN, 12 dB (70%)' - conf = '-B100 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70 -L' - trace = logdir + '/log_' + host + case + test + '.txt' - tee = ' 2>&1 | tee ' + trace - #print test + 'not performed' - cmd = 'taskset -c 0 ./ulsim.rel8.' + host + ' ' + conf + tee - oai.send_expect(cmd, 'passed', 150) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - - diff --git a/targets/TEST/OAI/case11.py b/targets/TEST/OAI/case11.py deleted file mode 100644 index 9a74a1637e8ad9aeccf9c8749691a31664733b75..0000000000000000000000000000000000000000 --- a/targets/TEST/OAI/case11.py +++ /dev/null @@ -1,81 +0,0 @@ -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \file case01.py -# \brief test case 01 for OAI: compilations -# \author Navid Nikaein -# \date 2014 -# \version 0.1 -# @ingroup _test - -import log -import openair -import core - -makerr1 = '***' -makerr2 = 'Error 1' - - -def execute(oai, user, pw, host,logfile,logdir,debug): - - case = '101' - rv = 1; - oai.send('cd $OPENAIR1_DIR;') - oai.send('cd SIMULATION/LTE_PHY;') - - try: - log.start() - test = '01' - name = 'Compile oai.rel8.phy.dlsim.make' - conf = 'make dlsim' # PERFECT_CE=1 # for perfect channel estimation - trace = logdir + '/log_' + case + test + '.txt;' - tee = ' 2>&1 | tee ' + trace - diag = 'check the compilation errors for dlsim in $OPENAIR1_DIR/SIMULATION/LTE_PHY' - oai.send('make clean; make cleanall;') - oai.send('rm -f ./dlsim.rel8.'+host) - oai.send_expect_false('make dlsim -j4' + tee, makerr1, 1500) - oai.send('cp ./dlsim ./dlsim.rel8.'+host) - - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - rv =0 - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = '02' - name = 'Compile oai.rel8.phy.ulsim.make' - conf = 'make ulsim' - trace = logdir + '/log_' + case + test + '.txt;' - tee = ' 2>&1 | tee ' + trace - diag = 'check the compilation errors for ulsim in $OPENAIR1_DIR/SIMULATION/LTE_PHY' - oai.send('make cleanall;') - oai.send('rm -f ./ulsim.rel8.'+host) - oai.send_expect_false('make ulsim -j4' + tee, makerr1, 1500) - oai.send('cp ./ulsim ./ulsim.rel8.'+host) - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - rv = 0 - else: - log.ok(case, test, name, conf, '', logfile) - - return rv diff --git a/targets/TEST/OAI/case12.py b/targets/TEST/OAI/case12.py deleted file mode 100644 index baa6a733678c6e03f10de8d13ece2c2129d5925a..0000000000000000000000000000000000000000 --- a/targets/TEST/OAI/case12.py +++ /dev/null @@ -1,143 +0,0 @@ -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \file case02.py -# \brief test case 02 for OAI: executions -# \author Navid Nikaein -# \date 2013 -# \version 0.1 -# @ingroup _test - -import time -import random -import log -import openair -import core -import os - - -import shutil # copy file - -NUM_UE=1 -NUM_eNB=1 -NUM_TRIALS=3 - -PRB=[25,50,100] -MCS=[0,4,9,10,13,16,17,22,27] -#PRB=[100] -#MCS=[27] -#SNR=[0,0,0,0,0,0,0,0,0] -ANT_TX=2 # 2 -ANT_RX=2 # 2 -PDCCH=2 #, 2, 3, 4 -CHANNEL=["N"] -#CHANNEL=["C","E","F","G","H","I","L","M"] -TX_MODE=2 # 2, -MIN_SNR=0 -MAX_SNR=40 -PERF=75 -OPT="-L" -FRAME=2000 - -#OPT="-L -d" # 8bit decoder , activate dci decoding at UE - - -def execute(oai, user, pw, host, logfile,logdir,debug,cpu): - - case = '10' - oai.send('cd $OPENAIR1_DIR;') - oai.send('cd SIMULATION/LTE_PHY;') - try: - log.start() - test = '200' - name = 'Run oai.dlsim.sanity' - conf = '-a -n 100' - diag = 'dlsim is not running normally (Segmentation fault / Exiting / FATAL), debugging might be needed' - trace = logdir + '/log_' + host + case + test + '_1.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./dlsim.rel8.'+ host + ' ' + conf + tee, 'Segmentation fault', 30) - trace = logdir + '/log_' + host + case + test + '_2.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./dlsim.rel8.'+ host + ' ' + conf + tee, 'Exiting', 30) - trace = logdir + '/log_' + host + case + test + '_3.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./dlsim.rel8.'+ host + ' ' + conf + tee, 'FATAL', 30) - - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = 210 - - name = 'Run oai.dlsim.perf.'+str(PERF)+'%' - diag = 'no diagnostic is available, check the log file' - for i in range(len(PRB)): - for o in range(len(CHANNEL)): - MIN_SNR = 0 - for j in range(len(MCS)): - for k in range(1,ANT_TX): - for m in range (1,ANT_RX): - for n in range(1,PDCCH): - for p in range(1,TX_MODE): - for q in range(MIN_SNR,MAX_SNR): - #if if PRB[i] : - - conf = '-B' + str(PRB[i]) + ' -m'+str(MCS[j]) + ' -y'+str(k) + ' -z'+str(m) +' -c'+str(n) + ' -g'+str(CHANNEL[o]) + ' -x'+str(p) + ' -s'+str(q) + ' -w1.0 -f.1 -P -n'+str(FRAME)+' -O'+str(PERF) +' '+ OPT - trace = logdir + '/time_meas' + '_prb'+str(PRB[i])+'_mcs'+ str(MCS[j])+ '_anttx' + str(k)+ '_antrx' + str(m) + '_pdcch' + str(n) + '_channel' +str(CHANNEL[o]) + '_tx' +str(p) + '_snr' +str(q)+'.'+case+str(test)+ '.log' - tee = ' 2>&1 | tee ' + trace - if cpu > -1 : - cmd = 'taskset -c '+ str(cpu) + ' ./dlsim.rel8.'+ host + ' ' + conf + tee - else : - cmd = './dlsim.rel8.'+ host + ' ' + conf + tee - - if debug : - print cmd - - match = oai.send_expect_re(cmd, 'passed', 0, 1000) - - if match : - #SNR[j]=q - log.ok(case, str(test), name, conf, '', logfile) - MIN_SNR = q -1 # just to speed up the test - test+=1 - break # found the smallest snr - else : - if q == MAX_SNR -1 : - log.skip(case,str(test), name, conf,'','',logfile) - test+=1 - break # do not remove the last log file - try: - if os.path.isfile(trace) : - os.remove(trace) - - except OSError, e: ## if failed, report it back to the user ## - print ("Error: %s - %s." % (e.filename,e.strerror)) - - - - except log.err, e: - log.fail(case, str(test), name, conf, e.value, diag, logfile,trace) - #else: - # log.ok(case, test, name, conf, '', logfile) - diff --git a/targets/TEST/OAI/case13.py b/targets/TEST/OAI/case13.py deleted file mode 100644 index d6fcca1bc50b375cc6506091280dd99f807d219d..0000000000000000000000000000000000000000 --- a/targets/TEST/OAI/case13.py +++ /dev/null @@ -1,143 +0,0 @@ -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \file case02.py -# \brief test case 02 for OAI: executions -# \author Navid Nikaein -# \date 2013 -# \version 0.1 -# @ingroup _test - -import time -import random -import log -import openair -import core -import os - - -import shutil # copy file - -NUM_UE=1 -NUM_eNB=1 -NUM_TRIALS=3 - -PRB=[25,50,100] -MCS=[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28] -#MCS=[0,4,9,10,13,16,17,22,27] -#PRB=[100] -#MCS=[16] -ANT_TX=2 # 2 -ANT_RX=2 # 2 -CHANNEL=["N"] -#CHANNEL=["C","E","F","G","H","I","L","M"] # A,B,C,D,E,F, -TX_MODE=2 # 2, -MIN_SNR=10 -MAX_SNR=40 -PERF=75 -OPT="-L" -FRAME=2000 -#OPT="-L -d" # 8bit decoder , activate dci decoding at UE - - - -def execute(oai, user, pw, host,logfile,logdir,debug,cpu): - - case = '10' - oai.send('cd $OPENAIR_TARGETS;') - oai.send('cd bin;') - oai.send('cp ./ulsim.Rel10 ./ulsim.Rel10.'+host) - try: - log.start() - test = '300' - name = 'Run oai.ulsim.sanity' - conf = '-a -n 100' - diag = 'ulsim is not running normally (Segmentation fault / Exiting / FATAL), debugging might be needed' - trace = logdir + '/log_' + host + case + test + '_1.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./ulsim.Rel10.'+ host + ' ' + conf + tee, 'Segmentation fault', 30) - trace = logdir + '/log_' + host + case + test + '_2.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./ulsim.Rel10.'+ host + ' ' + conf + tee, 'Exiting', 30) - trace = logdir + '/log_' + host + case + test + '_3.txt;' - tee = ' 2>&1 | tee ' + trace - oai.send_expect_false('./ulsim.Rel10.'+ host + ' ' + conf + tee, 'FATAL', 30) - - except log.err, e: - log.fail(case, test, name, conf, e.value, diag, logfile,trace) - else: - log.ok(case, test, name, conf, '', logfile) - - try: - log.start() - test = 310 - name = 'Run oai.ulsim.perf.'+str(PERF)+'%' - diag = 'no diagnostic is available, check the log file' - for i in range(len(PRB)): - for o in range(len(CHANNEL)): - MIN_SNR=10 - for j in range(len(MCS)): - for m in range (1,ANT_RX): - for p in range(1,TX_MODE): - for r in range(5,PRB[i]): - for q in range(MIN_SNR,MAX_SNR): - - - if r ==7 or r ==11 or r ==14 or r == 17 or r==19 or r == 21 or r == 23 or r == 26 or r == 28 : - continue - - conf = '-B' + str(PRB[i]) + ' -r'+str(r) + ' -m'+str(MCS[j]) + ' -y'+str(m) + ' -g'+str(CHANNEL[o]) + ' -x'+str(p) + ' -s'+str(q) + ' -w1.0 -e.1 -P -n'+str(FRAME)+' -O'+str(PERF)+' '+ OPT - trace = logdir + '/time_meas' + '_prb'+str(PRB[i])+ '_rb'+str(r)+'_mcs'+ str(MCS[j])+ '_antrx' + str(m) + '_channel' +str(CHANNEL[o]) + '_tx' +str(p) + '_snr' +str(q)+'.'+case+str(test)+ '.log' - tee = ' 2>&1 | tee ' + trace - if cpu > -1 : - cmd = 'taskset -c ' + str(cpu) + ' ./ulsim.Rel10.'+ host + ' ' + conf + tee - else : - cmd = './ulsim.Rel10.'+ host + ' ' + conf + tee - - if debug : - print cmd - - match = oai.send_expect_re(cmd, 'passed', 0, 1000) - #match =1 - if match : - - log.ok(case, str(test), name, conf, '', logfile) - MIN_SNR = q - 1 # just to speed up the test - test+=1 - break # found the smallest snr - else : - if q == MAX_SNR -1 : - log.skip(case,str(test), name, conf,'','',logfile) - test+=1 - break - try: - if os.path.isfile(trace) : - os.remove(trace) - except OSError, e: ## if failed, report it back to the user ## - print ("Error: %s - %s." % (e.filename,e.strerror)) - - - - except log.err, e: - log.fail(case, str(test), name, conf, e.value, diag, logfile,trace) - #else: - # log.ok(case, test, name, conf, '', logfile) - diff --git a/targets/TEST/OAI/core.py b/targets/TEST/OAI/core.py deleted file mode 100644 index acdd6c830ccef05f87069943e219007904520d7b..0000000000000000000000000000000000000000 --- a/targets/TEST/OAI/core.py +++ /dev/null @@ -1,334 +0,0 @@ -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \file core.py -# \brief OAI core testing class that provides various primitives to send/recv cmd to openair class searching for patterns and process the responses and tag the test case as passed/failed/skipped -# \author Navid Nikaein -# \date 2013 -# \version 0.1 -# @ingroup _test - - -import pexpect -import time -import re -import string -import sys -import os - -import openair -import log - -class core: - def __init__(self): - self.send_cr = 1 - self.expect_echo = 0 - self.expect_response = 1 - self.flag_errors = 1 - self.log = None - - def clean(self, obj): - if type(obj) is str: - return obj - else: - return repr(obj) - - def mark(self, marker): - if self.log: - print >> self.log, "\n\n{" + marker + "}\n\n" - - def expected(self, expected, got): - return "================================= Failure ===================================\n"+\ - "_________________________________ Expected __________________________________\n"+\ - "--->" + expected + "<-\n" +\ - "_________________________________ Received __________________________________\n"+\ - "--->" + got + "<-\n" +\ - "=============================================================================\n" - - def unexpected(self, notexpected, got): - return "================================= Failure ===================================\n"+\ - "__________________________ not expect to find _______________________________\n"+\ - "---> " + self.clean(notexpected) + "\n" +\ - "_________________________________ Received___________________________________\n"+\ - "---> " + self.clean(got) + "\n" +\ - "=============================================================================\n" - - def failed(self, command, expect,debug): - time.sleep(2) - ret = "================================= Failure =================================\n" - ret +="_________________________________ Sent ____________________________________\n" - ret +="---> " + command + "\n" - ret +="______________________________Searching for _______________________________\n" - ret +="---> " + self.clean(expect) + "\n" - if debug >= 1 : - ret +="________________________________ Received _________________________________\n" - ret +="---> " + self.clean(self.oai.before) + "\n" - ret +="_______________________________ Remaining _________________________________\n" - ret +="---> " + self.clean(self.oai.after) + "\n" - ret +="===========================================================================\n" - return ret - - def err(self, command): - return "============================ Error received ================================\n"+\ - "__________________________________ Sent ____________________________________\n"+\ - '---> ' + command + "\n"+\ - "_________________________________ Error was ________________________________\n"+\ - "---> " + self.oai.before + "\n" +\ - "============================================================================\n" - - - def wait_quiet(self, timeout=0.5): - while 1: - try: - self.oai.expect(['..*'], timeout=0.5) - except pexpect.TIMEOUT, e: - return -# print '[Flushing ' + self.oai.after + ']' - - # **************************Send***************************** - # 1) send a command and return, do not wait - # ************************************************************ - def send_nowait(self, command): - rsp1 = self.prompt1 - rsp2 = self.prompt2 - self.wait_quiet() - if self.send_cr: - log.stats['cmd'] += 1 - self.oai.sendline(command) - else: - self.oai.send(command) - - - # **************************Send***************************** - # 1) send a command - # 2) wait for a return prompt. Don't capture the response. - # 3) Check for error or timeout. - # ************************************************************ - def send(self, command, timeout = 50, rsp1=None, rsp2=None,debug=0): - if not rsp1: - rsp1 = self.prompt1 - if not rsp2: - rsp2 = self.prompt2 - self.wait_quiet() - if self.send_cr: - log.stats['cmd'] += 1 - self.oai.sendline(command) - else: - self.oai.send(command) - - if self.expect_echo: - #cmd = self.oai.expect([re.escape(command), pexpect.TIMEOUT], timeout=timeout); - cmd = self.oai.expect_exact([command, pexpect.TIMEOUT], timeout=timeout); - if cmd != 0: - raise log.err(self.failed(command, command,debug)) - - if self.expect_response: - #index = self.oai.expect([re.escape(rsp1), re.escape(rsp2),'%', pexpect.TIMEOUT], timeout=timeout) - index = self.oai.expect_exact([rsp1, rsp2, pexpect.TIMEOUT], timeout=timeout) - - if index == 0 or index == 1: - return 'OK' - elif index == 2: - #self.oai.expect([re.escape(rsp1), re.escape(rsp2), pexpect.TIMEOUT], timeout=timeout) - self.oai.expect_exact([rsp1, rsp2, pexpect.TIMEOUT], timeout=timeout) - if self.flag_errors: - raise log.err(self.err(command)) - else: - return 'OK' - else: - raise log.err(self.failed(command, rsp1 + ' or ' + rsp2,debug)) - - # **************************send_recv************************* - # 1) send a command - # 2) wait for either rsp1 or rsp2 is found (normally prompts) - # 3) return everything seen before that - # ************************************************************ - def send_recv(self, command, timeout=50, rsp1=None, rsp2=None,debug=0): - if not rsp1: - rsp1 = self.prompt1 - if not rsp2: - rsp2 = self.prompt2 - self.wait_quiet() - if self.send_cr: - log.stats['cmd'] += 1 - self.oai.sendline(command) - else: - self.oai.send(command) - #index = self.oai.expect([re.escape(rsp1), re.escape(rsp2), pexpect.TIMEOUT], timeout=timeout); - index = self.oai.expect_exact([rsp1, rsp2, pexpect.TIMEOUT], timeout=timeout); - if index == 0 or index == 1 : - return self.oai.before - else: - raise log.err(self.failed(command, rsp1 + ' or ' + rsp2,debug)) - - - # **************************send_expect************************* - # 1) send a command, and optionally specify a the time to wait - # 2) search for an expected pattern in the response - # 3) raise an error if not found - # ************************************************************** - def send_expect(self, command, expect, delay = 50, rsp1=None, rsp2=None,debug=0): - if debug : - print command - print expect - print delay - rsp = self.send_recv(command, delay, rsp1, rsp2) - #print rsp - if (rsp.find(expect) != -1): - return 'Ok' - - raise log.err(self.failed(command, expect,debug)) - - - # **************************send_expect_re************************* - # 1) send a command, and optionally specify a the time to wait - # 2) search for an expected pattern defined by a regular expression in the response - # 3) return a error if raise_err flag is set and re not found, otherwise return 'Ok' - # ***************************************************************** - def send_expect_re(self, command, expect, raise_err=1, delay = 50, rsp1=None, rsp2=None,debug=0): - rsp = self.send_recv(command, delay, rsp1, rsp2) -# print rsp - match = re.compile(expect).search(rsp) - if match: - return match - if raise_err: - raise log.err(self.failed(command, expect,debug)) - else : - return None - - # **************************send_expect************************* - # 1) send a command, and optionally specify a the time to wait - # 2) search for an expected pattern defined by a re in the response - # 3) return ok if not found - # ************************************************************** - def send_expect_false(self, command, expect, delay = 5, rsp1=None, rsp2=None,debug=0): - rsp = self.send_recv(command, delay, rsp1, rsp2) - # print rsp - if (rsp.find(expect) == -1): - return 'OK' - - raise log.err(self.failed(command, expect,debug)) - - - # **************************send_wait************************* - # 1) send a command, and optionally specify a the time to wait - # 2) search for an expected pattern in the response - # 3) retry for a numretries if not found - # 4) return an error if not found after the numtries - # 3) return the response if found - # ************************************************************** - def send_wait(self, command, expect, numretries=3, rsp1=None, rsp2=None,debug=0): - timer = 0 - for i in range(numretries): - rsp = self.send_recv(command, 10, rsp1, rsp2) - if (rsp.find(expect) != -1): - return rsp; - time.sleep(2) - timer = timer+2 - raise log.err(self.failed(command, expect,debug)) - - # **************************send_wait_re************************* - # 1) send a command, and optionally specify a the time to wait - # 2) search for an expected pattern defined by a re in the response - # 3) retry for a numretries if not found - # 4) return an error if not found after the numtries - # 3) return the response if found - # ************************************************************** - def send_wait_re(self, command, expect, numretries=3, rsp1=None, rsp2=None,debug=0): - timer = 0 - for i in range(numretries): - rsp = self.send_recv(command) - if re.compile(expect).search(rsp): -# print "Found in",i,"attempts" - return rsp; - time.sleep(2) - timer = timer+2 - raise log.err(self.failed(command, expect,debug)) - - # **************************send_wait_false************************* - # 1) send a command, and optionally specify a the time to wait - # 2) search for an expect pattern in the response - # 3) return the response if not found - # 4) return an error if the pattern found after the numtries - # ************************************************************** - def send_wait_false(self, command, expect, numretries=3, rsp1=None, rsp2=None,debug=0): - timer = 1 - for i in range(numretries): - rsp = self.send_recv(command) - if (rsp.find(expect) == -1): - return rsp; - time.sleep(2) - timer = timer+2 - raise log.err(self.failed(command, expect,debug)) - - # **************************send_wait_false************************* - # 1) send a command, and optionally specify a the time to wait - # 2) search for an expect pattern defined by a re in the response - # 3) return the response if not found - # 4) return an error if the pattern found after the numtries - # ************************************************************** - def send_wait_false_re(self, command, expect, numretries=3, rsp1=None, rsp2=None,debug=0): - timer = 0 - for i in range(numretries): - rsp = self.send_recv(command) - if not re.compile(expect).search(rsp): - return rsp; - time.sleep(2) - timer = timer+2 - raise log.err(self.failed(command, expect,debug)) - - # **************************find************************* - # 1) find an exact pattern in a given string - # 2) raise an error if not found - # ************************************************************** - def find(self, string, pattern): - word = string.replace(pattern,'*','\*') - words = string.replace(word,' ','\s*') - if re.search(words,string): - pass - else: - raise log.err(string) - - - # **************************find_false************************** - # 1) find an exact pattern in a given string - # 2) raise an error if found - # ************************************************************** - def find_false(self, string, pattern): - if string.find(pattern) != -1: - raise log.err(string) - - # **************************find_re************************* - # 1) find an exact re pattern in a given string - # 2) raise an error if not found - # ************************************************************** - def find_re(self, string, pattern): - if not re.compile(pattern).search(string): - raise log.err(string) - - # **************************find_false_re************************* - # 1) find an exact re pattern in a given string - # 2) raise an error if found - # ************************************************************** - def find_false_re(self, string, pattern): - if re.compile(pattern).search(string): - raise log.err(string) - diff --git a/targets/TEST/OAI/log.py b/targets/TEST/OAI/log.py deleted file mode 100644 index 5a97b19cf23429b5a430a465d31e2dfcda8728a1..0000000000000000000000000000000000000000 --- a/targets/TEST/OAI/log.py +++ /dev/null @@ -1,198 +0,0 @@ -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \file log.py -# \brief provides primitives and defines how the logs and statistics are generated -# \author Navid Nikaein -# \date 2013 -# \version 0.1 -# @ingroup _test - -import sys -import re -import time -import datetime -import array -import xml.etree.ElementTree as ET - - -debug = False -docfile = '' -start_time = time.time() -testcase_starttime = start_time -debug = 0 -stats = {'passed':0, 'failed':0, 'skipped':0, 'internal_errors':0, 'cmd':0} - -# xml result (jUnit like) -xUnitTestsuites = ET.Element( 'testsuites' ) -xUnitTestsuite = ET.SubElement( xUnitTestsuites, 'testsuite' ) -xUnitTestsuite.set( 'name', 'OAI' ) -xUnitTestsuite.set( 'timestamp', datetime.datetime.fromtimestamp(start_time).strftime('%Y-%m-%dT%H:%M:%S') ) -xUnitTestsuite.set( 'hostname', 'localhost' ) -#xUnitSystemOut = ET.SubElement( xUnitTestsuite, 'system-out' ) - -class bcolors: - header = '\033[95m' - okblue = '\033[94m' - okgreen = '\033[92m' - warning = '\033[93m' - fail = '\033[91m' - normal = '\033[0m' - - def __init__(self): - if not sys.stdout.isatty(): - self.disable() - - def disable(self): - self.header = '' - self.okblue = '' - self.okgreen = '' - self.warning = '' - self.fail = '' - self.normal = '' - -class err(Exception): - def __init__(self, value): - self.value = value - def __str__(self): - return repr(self.value) - -def writefile(logfile, message): - F_testlog = open(logfile, 'a') - F_testlog.write(message + '\n') - F_testlog.close() - - -def sleep(seconds): - time.sleep(seconds) - -def start(): - """Start the timer for the following testcase.""" - global testcase_starttime - testcase_starttime = time.time() - -def set_debug_level(level): - debug = level - -def statistics(logfile): - global start_time - - #if stats['passed'] == 0: - # print "no test executed...exiting" - # sys.exit() - - total_tests = stats['passed'] + stats['failed'] + stats['skipped'] - total_ex_tests = stats['passed'] + stats['failed'] - elapsed_time = time.gmtime(time.time() - start_time) - print '\n' - log_record('info', '===============================================') - log_record('info', 'Total tests performed ' + repr(total_tests)) - log_record('info', 'Tests passed ' + repr(stats['passed'])) - log_record('info', 'Tests failed ' + repr(stats['failed'])) - log_record('info', 'Tests skipped ' + repr(stats['skipped'])) - log_record('info', '') - log_record('info', 'Total commands sent ' + repr(stats['cmd'])) - log_record('info', 'Total elapsed time (h:m:s) ' + time.strftime('%H:%M:%S', elapsed_time)) - log_record('info', '===============================================') - log_record('info', 'Testing pass rate ' + repr((stats['passed'] * 100) / total_tests) + '%') - log_record('info', '===============================================') - - writefile(logfile, '\n=====================Results===================') - writefile(logfile, 'Total tests performed ' + repr(total_tests)) - writefile(logfile, 'Tests passed ' + repr(stats['passed'])) - writefile(logfile, 'Tests failed ' + repr(stats['failed'])) - writefile(logfile, 'Tests skipped ' + repr(stats['skipped'])) - writefile(logfile, '') - writefile(logfile, 'Total commands sent ' + repr(stats['cmd'])) - writefile(logfile, 'Total elapsed time (h:m:s) ' + time.strftime('%H:%M:%S', elapsed_time)) - writefile(logfile, '===============================================') - writefile(logfile, 'Testing pass rate ' + repr((stats['passed'] * 100) / total_tests) + '%') - writefile(logfile, '===============================================\n') - - xUnitTestsuite.set( 'tests', repr(total_tests) ) - xUnitTestsuite.set( 'failures', repr(stats['failed']) ) - xUnitTestsuite.set( 'skipped', repr(stats['skipped']) ) - xUnitTestsuite.set( 'errors', '0' ) - time_delta = datetime.datetime.now() - datetime.datetime.fromtimestamp(start_time) - xUnitTestsuite.set( 'time', repr(time_delta.total_seconds()) ) - writefile( logfile + '.xml', ET.tostring( xUnitTestsuites, encoding="utf-8", method="xml" ) ) - -def log_record(level, message): - ts = time.strftime('%d %b %Y %H:%M') - message = ts + ' [' + level + '] ' + message - if level == 'passed' : - print bcolors.okgreen + message + bcolors.normal - elif level == 'failed' : - print bcolors.fail + message + bcolors.normal - elif level == 'skipped' : - print bcolors.warning + message + bcolors.normal - else : - print message - -def fail(case, testnum, testname, conf, message, diag, output,trace): -# report(case, testnum, testname, conf, 'failed', output, diag, message) - report(case, testnum, testname, conf, 'failed', output, diag) - log_record('failed', case + testnum + ' : ' + testname + ' ('+ conf+')') - if message : - log_record('failed', "Output follows:\n" + message ) - if trace : - log_record('failed', "trace file can be found in " + trace + "\n" ) - stats['failed'] += 1 - -def failquiet(case, testnum, testname, conf): - log_record('failed', case + testnum + ' :' + testname + ' ('+ conf+')') - stats['failed'] += 1 - -def ok(case, testnum, testname, conf, message, output): - report(case, testnum, testname, conf, 'passed', output) - log_record('passed', case + testnum + ' : ' + testname + ' ('+ conf+')') - if message : - print bcolors.okgreen + message + bcolors.normal - stats['passed'] += 1 - - -def skip(case, testnum, testname, conf, message=None, diag=None, output=None): - log_record('skipped', case + testnum + ' :' + testname + ' ('+ conf+')') - report(case, testnum, testname, conf, 'skipped', output, diag) - if message : - log_record('skipped', "Output follows:\n" + message ) - if diag : - log_record('skipped', "Diagnostic: \n" + diag ) - stats['skipped'] += 1 - - -def report(case, test, name, conf, status, output, diag=None, desc=None): - writefile (output, '[' +status+ '] ' + case + test + ' : ' + name + ' ('+ conf+')') - if diag : - writefile (output, '-------> ' + diag) - if desc: - writefile(output, desc) - #log_record('report', + case + test + ' documented') - e = ET.SubElement( xUnitTestsuite, 'testcase' ) - e.set( 'name', case + '_' + test + '_' + name ) - e.set( 'classname', 'shellscript' ) - e.set( 'time', repr( time.time() - testcase_starttime ) ) - if status == 'failed': - e = ET.SubElement( e, 'failure' ) - e.set( 'message', 'failed' ) - e.text = diag - if status == 'skipped': - e = ET.SubElement( e, 'skipped' ) diff --git a/targets/TEST/OAI/openair.py b/targets/TEST/OAI/openair.py deleted file mode 100644 index e03188c11d9818e96c42af1c6d9f53c096f20287..0000000000000000000000000000000000000000 --- a/targets/TEST/OAI/openair.py +++ /dev/null @@ -1,223 +0,0 @@ -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \file openair.py -# \brief class that define the oaisim class and its attributes -# \author Navid Nikaein -# \date 2013 -# \version 0.1 -# @ingroup _test - -import pexpect -import pxssh -import time -import os -import array -import shutil -import subprocess -# import call - -from core import * - -SHELL = '/bin/bash' - -class openair(core): - def __init__(self, hostname, address): - self.error = '% ' - self.hostname = hostname - self.address = address - self.localhost = None - core.__init__(self) - - @property - def localhost(self): - if self.localhost : - return self.localhost - elif self.hostname in ['localhost', '127.0.0.7', '::1'] : - self.localhost = self.hostname - return self.localhost - - @localhost.setter - def localhost(self,localhost): - self.localhost = localhost - - def shcmd(self,cmd,sudo=False): - - if sudo: - cmd = "sudo %s" % command - - proc = subprocess.Popen(command, shell=True, - stdout = subprocess.PIPE, - stderr = subprocess.PIPE) - - stdout, stderr = proc.communicate() - return (stdout, stderr) - - def connect(self, username, password, prompt='PEXPECT_OAI'): - self.prompt1 = prompt - self.prompt2 = prompt - - try: - if not username: - username = root - if not password: - password = username - self.oai = pxssh.pxssh() - self.oai.login(self.address,username,password) - self.oai.sendline('PS1='+self.prompt1) - self.oai.PROMPT='PEXPECT_OAI' - # need to look for twice the string of the prompt - self.oai.prompt() - self.oai.prompt() - self.oai.sendline('uptime') - self.oai.prompt() - print self.oai.before - - except Error, val : - print "Error: can't connect to"+username+"@"+self.address - - def connect2(self, username, password, prompt='$'): - self.prompt1 = prompt - self.prompt2 = prompt - - while 1: - try: - if not username: - username = root - if not password: - password = username - - self.oai = pexpect.spawn('ssh -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" -o "ConnectionAttempts=1" ' \ - + username + '@' + self.address) - - index = self.oai.expect([re.escape(self.prompt1), re.escape(self.prompt2), pexpect.TIMEOUT], timeout=40) - if index == 0 : - return 'Ok' - else : - index = self.oai.expect(['password:', pexpect.TIMEOUT], timeout=40) - if index == 0 : - self.oai.sendline(password) - index = self.oai.expect([re.escape(self.prompt1), re.escape(self.prompt2), pexpect.TIMEOUT], timeout=10) - if index != 0: - print 'ERROR! could not login with SSH.' - print 'Expected ' + self.prompt1 + ', received >>>>' + self.oai.before + '<<<<' - sys.exit(1) - return 'Ok' - - except Exception, val: - time.sleep(5) - print "Error:", val - - def connect_localshell(self, prompt='$'): - self.prompt1 = prompt - self.prompt2 = prompt - - while 1: - try: - # start a shell and use the current environment - self.oai = pexpect.spawn('bash --norc --noprofile') - - index = self.oai.expect([re.escape(self.prompt1), re.escape(self.prompt2), pexpect.TIMEOUT], timeout=40) - if index == 0 : - return 'Ok' - else : - sys.exit(1) - - except Exception, val: - time.sleep(5) - print "Error:", val - - def disconnect(self): - print 'disconnecting the ssh connection to ' + self.address + '\n' - self.oai.send('exit') -# self.cancel() - - def kill(self, user, pw): - try: - if user == 'root' : - os.system('pkill oaisim') - os.system('pkill cc1') - time.sleep(1) - os.system('pkill oaisim') - else : - os.system('echo '+pw+' | sudo -S pkill oaisim') - os.system('echo '+pw+' | sudo -S pkill cc1') - time.sleep(1) - os.system('echo '+pw+' | sudo -S pkill oaisim') - except Error, val: - print "Error:", val - - def rm_driver(self,oai,user, pw): - try: - if user == 'root' : - #oai.send_nowait('rmmod nasmesh;') - os.system('rmmod nasmesh;') - else : - oai.send_nowait('echo '+pw+ ' | sudo -S rmmod nasmesh;') - #os.system('echo '+pw+ ' | sudo -S rmmod nasmesh;') - except Error, val: - print "Error removing oai network driver module:", val - - def driver(self,oai,user,pw): - #pwd = oai.send_recv('pwd') - oai.send('cd $OPENAIR_TARGETS;') - oai.send('cd SIMU/USER;') - try: - if user == 'root' : - oai.send_nowait('insmod ./nasmesh.ko;') - else : - oai.send('echo '+pw+ ' | sudo -S insmod ./nasmesh.ko;') - - except Error, val: - print "Error inserting oai network driver module:", val - - def cleandir (self, logdir,debug) : - - for filename in os.listdir(logdir): - filepath = os.path.join(logdir, filename) - if debug == 2 : - print 'logdir is ' + logdir - print 'filepath is ' + filepath - try: - shutil.rmtree(filepath) - except OSError: - os.remove(filepath) - #print 'Could not remove the filepath'+ filepath + ' with error ' + OSError - - def create_dir(self,dirname,debug) : - if not os.path.exists(dirname) : - try: - os.makedirs(dirname,0755) - except OSError: - # There was an error on creation, so make sure we know about it - raise - def cpu_freq(self): - freq=0 - proc = subprocess.Popen(["cat","/proc/cpuinfo"], - stdout=subprocess.PIPE) - out, err = proc.communicate() - - for line in out.split("\n"): - if "cpu MHz" in line: - freq = float(line.split(":")[1]) - break - - return freq diff --git a/targets/TEST/OAI/test01.py b/targets/TEST/OAI/test01.py deleted file mode 100644 index d923a8e27eddd81e32a047fa0cccbddebd255d77..0000000000000000000000000000000000000000 --- a/targets/TEST/OAI/test01.py +++ /dev/null @@ -1,182 +0,0 @@ -#! /usr/bin/python -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \file test01.py -# \brief test 01 for OAI -# \author Navid Nikaein -# \date 2013 - 2015 -# \version 0.1 -# @ingroup _test - - -import sys -import wave -import os -import time -import datetime -import getpass -import math #from time import clock - -import log -import case01 -import case02 -import case03 -import case04 -import case05 - -from openair import * - -debug = 0 -pw ='' -i = 0 -dlsim=0 -localshell=0 -is_compiled = 0 -timeout=2000 - -for arg in sys.argv: - if arg == '-d': - debug = 1 - elif arg == '-dd': - debug = 2 - elif arg == '-p' : - prompt2 = sys.argv[i+1] - elif arg == '-w' : - pw = sys.argv[i+1] - elif arg == '-P' : - dlsim = 1 - elif arg == '-l' : - localshell = 1 - elif arg == '-c' : - is_compiled = 1 - elif arg == '-t' : - timeout = sys.argv[i+1] - elif arg == '-h' : - print "-d: low debug level" - print "-dd: high debug level" - print "-p: set the prompt" - print "-w: set the password for ssh to localhost" - print "-l: use local shell instead of ssh connection" - print "-t: set the time out in second for commands" - sys.exit() - i= i + 1 - -try: - os.environ["OPENAIR1_DIR"] -except KeyError: - print "Please set the environment variable OPENAIR1_DIR in the .bashrc" - sys.exit(1) - -try: - os.environ["OPENAIR2_DIR"] -except KeyError: - print "Please set the environment variable OPENAIR2_DIR in the .bashrc" - sys.exit(1) - -try: - os.environ["OPENAIR_TARGETS"] -except KeyError: - print "Please set the environment variable OPENAIR_TARGETS in the .bashrc" - sys.exit(1) - -# get the oai object -host = os.uname()[1] -oai = openair('localdomain','localhost') -#start_time = time.time() # datetime.datetime.now() -user = getpass.getuser() -if localshell == 0: - try: - print '\n******* Note that the user <'+user+'> should be a sudoer *******\n' - print '******* Connecting to the localhost to perform the test *******\n' - - if not pw : - print "username: " + user - pw = getpass.getpass() - else : - print "username: " + user - #print "password: " + pw - - # issues in ubuntu 12.04 - # oai.connect(user,pw) - oai.connect2(user,pw) - #oai.get_shell() - except : - print 'Fail to connect to the local host' - sys.exit(1) -else: - pw = '' - oai.connect_localshell() - -cpu_freq = int(oai.cpu_freq()) -if timeout == 2000 : - if cpu_freq <= 2000 : - timeout = 3000 - elif cpu_freq < 2700 : - timeout = 2000 - elif cpu_freq < 3300 : - timeout = 1500 -#print "cpu freq(MHz): " + str(cpu_freq) + "timeout(s): " + str(timeout) - - -test = 'test01' -ctime=datetime.datetime.utcnow().strftime("%Y-%m-%d.%Hh%M") -logfile = user+'.'+test+'.'+ctime+'.txt' -logdir = os.getcwd() + '/pre-ci-logs-'+host; -oai.create_dir(logdir,debug) -print 'log dir: ' + logdir -#oai.send_nowait('mkdir -p -m 755' + logdir + ';') - -#print '=================start the ' + test + ' at ' + ctime + '=================\n' -#print 'Results will be reported in log file : ' + logfile -log.writefile(logfile,'====================start'+test+' at ' + ctime + '=======================\n') -log.set_debug_level(debug) - -oai.kill(user, pw) -oai.rm_driver(oai,user,pw) - -# start te test cases -if is_compiled == 0 : - is_compiled=case01.execute(oai, user, pw, host,logfile,logdir,debug,timeout) - -if is_compiled != 0 : - case02.execute(oai, user, pw, host, logfile,logdir,debug) - case03.execute(oai, user, pw, host, logfile,logdir,debug) - case04.execute(oai, user, pw, host, logfile,logdir,debug) - case05.execute(oai, user, pw, host, logfile,logdir,debug) -else : - print 'Compilation error: skip test case 02,03,04,05' - -oai.kill(user, pw) -oai.rm_driver(oai,user,pw) - -# perform the stats -log.statistics(logfile) - - -oai.disconnect() - -ctime=datetime.datetime.utcnow().strftime("%Y-%m-%d_%Hh%M") -log.writefile(logfile,'====================end the '+ test + ' at ' + ctime +'====================') -print 'Test results can be found in : ' + logfile -#print '\nThis test took %f minutes\n' % math.ceil((time.time() - start_time)/60) - -#print '\n=====================end the '+ test + ' at ' + ctime + '=====================' diff --git a/targets/TEST/OAI/test02.py b/targets/TEST/OAI/test02.py deleted file mode 100644 index c0c94b7d23480b70351dab5eb98e9f15b96b4084..0000000000000000000000000000000000000000 --- a/targets/TEST/OAI/test02.py +++ /dev/null @@ -1,173 +0,0 @@ -#/* -# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more -# * contributor license agreements. See the NOTICE file distributed with -# * this work for additional information regarding copyright ownership. -# * The OpenAirInterface Software Alliance licenses this file to You under -# * the OAI Public License, Version 1.1 (the "License"); you may not use this file -# * except in compliance with the License. -# * You may obtain a copy of the License at -# * -# * http://www.openairinterface.org/?page_id=698 -# * -# * Unless required by applicable law or agreed to in writing, software -# * distributed under the License is distributed on an "AS IS" BASIS, -# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# * See the License for the specific language governing permissions and -# * limitations under the License. -# *------------------------------------------------------------------------------- -# * For more information about the OpenAirInterface (OAI) Software Alliance: -# * contact@openairinterface.org -# */ - -# \file test01.py -# \brief test 02 for OAI: downlink and uplink performance and profiler -# \author Navid Nikaein -# \date 2014 -# \version 0.1 -# @ingroup _test - - -import sys -import wave -import os -import time -import datetime -import getpass -import math #from time import clock - -import log -import case11 -import case12 -import case13 - - -from openair import * - -debug = 0 -prompt = '$' -pw ='' -i = 0 -clean = 0 -start_case = 0 -cpu = -1 -localshell=0 - -for arg in sys.argv: - if arg == '-d': - debug = 1 - elif arg == '-dd': - debug = 2 - elif arg == '-p' : - prompt = sys.argv[i+1] - elif arg == '-w' : - pw = sys.argv[i+1] - elif arg == '-c' : - clean = 1 - elif arg == '-t' : - cpu = sys.argv[i+1] - elif arg == '-s' : - start_case = sys.argv[i+1] - elif arg == '-l' : - localshell = 1 - elif arg == '-h' : - print "-d: low debug level" - print "-dd: high debug level" - print "-p: set the prompt" - print "-w: set the password for ssh to localhost" - print "-c: clean the log directory " - print "-t: set the cpu " - print "-l: use local shell instead of ssh connection" - sys.exit() - i= i + 1 - -try: - os.environ["OPENAIR1_DIR"] -except KeyError: - print "Please set the environment variable OPENAIR1_DIR in the .bashrc" - sys.exit(1) - -try: - os.environ["OPENAIR2_DIR"] -except KeyError: - print "Please set the environment variable OPENAIR2_DIR in the .bashrc" - sys.exit(1) - -try: - os.environ["OPENAIR_TARGETS"] -except KeyError: - print "Please set the environment variable OPENAIR_TARGETS in the .bashrc" - sys.exit(1) - -host = os.uname()[1] -# get the oai object -oai = openair('localdomain','localhost') -#start_time = time.time() # datetime.datetime.now() -user = getpass.getuser() -if localshell == 0: - try: - print '\n******* Note that the user <'+user+'> should be a sudoer *******\n' - if cpu > -1 : - print '******* Connecting to the localhost <'+host+'> to perform the test on CPU '+str(cpu)+' *******\n' - else : - print '******* Connecting to the localhost <'+host+'> to perform the test *******\n' - - if not pw : - print "username: " + user - pw = getpass.getpass() - else : - print "username: " + user - #print "password: " + pw - print "prompt: " + prompt - - oai.connect(user,pw,prompt) - #oai.get_shell() - except : - print 'Fail to connect to the local host' - sys.exit(1) -else: - pw = '' - print "prompt: " + prompt - oai.connect_localshell(prompt) - -test = 'test02' -ctime=datetime.datetime.utcnow().strftime("%Y-%m-%d.%Hh%M") -logdir = os.getcwd() + '/PERF_'+host; -logfile = logdir+'/'+user+'.'+test+'.'+ctime+'.txt' -#oai.send_nowait('mkdir -p -m 755' + logdir + ';') -oai.create_dir(logdir,debug) -#print '=================start the ' + test + ' at ' + ctime + '=================\n' -#print 'Results will be reported in log file : ' + logfile -log.writefile(logfile,'====================start'+test+' at ' + ctime + '=======================\n') -log.set_debug_level(debug) - -oai.kill(user, pw) -if clean == 1 : - oai.cleandir(logdir,debug) - -#oai.rm_driver(oai,user,pw) - -# start te test cases -#compile - -rv=case11.execute(oai, user, pw, host,logfile,logdir,debug) -if rv == 1 : - case12.execute(oai, user, pw, host,logfile,logdir,debug,cpu) - case13.execute(oai, user, pw, host,logfile,logdir,debug,cpu) -else : - print 'Compilation error: skip case 12 and 13' - -oai.kill(user, pw) -#oai.rm_driver(oai,user,pw) - -# perform the stats -log.statistics(logfile) - - -oai.disconnect() - -ctime=datetime.datetime.utcnow().strftime("%Y-%m-%d_%Hh%M") -log.writefile(logfile,'====================end the '+ test + ' at ' + ctime +'====================') -print 'Test results can be found in : ' + logfile -#print '\nThis test took %f minutes\n' % math.ceil((time.time() - start_time)/60) - -#print '\n=====================end the '+ test + ' at ' + ctime + '====================='